Mock Version: 6.0 Mock Version: 6.0 Mock Version: 6.0 Mock Version: 6.0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-master-uc-x86_64-5/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=0uid=1020gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.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: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.src.rpm Child return code was: 0 Mock Version: 6.0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-master-uc-x86_64-5/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=0uid=1020gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.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: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-master-uc-x86_64-5/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=0uid=1020gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.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: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.2pLaWH + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-29.1.0.dev118 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-29.1.0.dev118-0.20250522180210.f1c8d03.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-29.1.0.dev118 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/bin/git init -q + /usr/bin/git config user.name rpm-build + /usr/bin/git config user.email '' + /usr/bin/git config gc.auto 0 + /usr/bin/git add --force . + /usr/bin/git commit -q --allow-empty -a --author 'rpm-build ' -m 'openstack-ironic-29.1.0 base' + sed -i '/^[[:space:]]*-c{env:.*_CONSTRAINTS_FILE.*/d' tox.ini + sed -i 's/^deps = -c{env:.*_CONSTRAINTS_FILE.*/deps =/' tox.ini + sed -i '/^minversion.*/d' tox.ini + sed -i '/^requires.*virtualenv.*/d' tox.ini + sed -i 's/PyYAML.*/PyYAML/' requirements.txt + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f doc/requirements.txt ']' + sed -i '/^doc8.*/d' doc/requirements.txt + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f test-requirements.txt ']' + sed -i '/^doc8.*/d' test-requirements.txt + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f doc/requirements.txt ']' + sed -i '/^bandit.*/d' doc/requirements.txt + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f test-requirements.txt ']' + sed -i '/^bandit.*/d' test-requirements.txt + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f doc/requirements.txt ']' + sed -i '/^pre-commit.*/d' doc/requirements.txt + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f test-requirements.txt ']' + sed -i '/^pre-commit.*/d' test-requirements.txt + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f doc/requirements.txt ']' + sed -i '/^hacking.*/d' doc/requirements.txt + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f test-requirements.txt ']' + sed -i '/^hacking.*/d' test-requirements.txt + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f doc/requirements.txt ']' + sed -i '/^flake8-import-order.*/d' doc/requirements.txt + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f test-requirements.txt ']' + sed -i '/^flake8-import-order.*/d' test-requirements.txt + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f doc/requirements.txt ']' + sed -i '/^sphinx.*/d' doc/requirements.txt + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f test-requirements.txt ']' + sed -i '/^sphinx.*/d' test-requirements.txt + for pkg in doc8 bandit pre-commit hacking flake8-import-order sphinx openstackdocstheme + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f doc/requirements.txt ']' + sed -i '/^openstackdocstheme.*/d' doc/requirements.txt + for reqfile in doc/requirements.txt test-requirements.txt + '[' -f test-requirements.txt ']' + sed -i '/^openstackdocstheme.*/d' test-requirements.txt + sed -i 's/netaddr.*/netaddr/g' requirements.txt + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.LBv9xr + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + echo -n + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + RPM_TOXENV=py39 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires -t -e py39 Handling pbr>=6.0.0 from build-system.requires Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling setuptools>=64.0.0 from build-system.requires Requirement satisfied: setuptools>=64.0.0 (installed: setuptools 65.5.1) Handling wheel from get_requires_for_build_wheel Requirement not satisfied: wheel Handling pbr>=6.0.0 from get_requires_for_build_wheel Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Exiting dependency generation pass: get_requires_for_build_wheel + cat /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-master-uc-x86_64-5/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=0uid=1020gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.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: x86_64 Building for target x86_64 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.e14OUl + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + echo -n + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + RPM_TOXENV=py39 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires -t -e py39 Handling pbr>=6.0.0 from build-system.requires Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling setuptools>=64.0.0 from build-system.requires Requirement satisfied: setuptools>=64.0.0 (installed: setuptools 65.5.1) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.36.2) Handling pbr>=6.0.0 from get_requires_for_build_wheel Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling tox-current-env >= 0.0.6 from tox itself Requirement not satisfied: tox-current-env >= 0.0.6 Exiting dependency generation pass: tox itself + cat /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-master-uc-x86_64-5/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=0uid=1020gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.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: x86_64 Building for target x86_64 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.r5un0j + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + echo -n + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + RPM_TOXENV=py39 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires -t -e py39 Handling pbr>=6.0.0 from build-system.requires Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling setuptools>=64.0.0 from build-system.requires Requirement satisfied: setuptools>=64.0.0 (installed: setuptools 65.5.1) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.36.2) Handling pbr>=6.0.0 from get_requires_for_build_wheel Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.8) ___________________________________ summary ____________________________________ py39: commands succeeded congratulations :) Handling pbr>=6.0.0 from tox --print-deps-only: py39 Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling SQLAlchemy>=1.4.0 from tox --print-deps-only: py39 Requirement satisfied: SQLAlchemy>=1.4.0 (installed: SQLAlchemy 2.0.38) Handling alembic>=1.4.2 from tox --print-deps-only: py39 Requirement satisfied: alembic>=1.4.2 (installed: alembic 1.14.1) Handling automaton>=1.9.0 from tox --print-deps-only: py39 Requirement not satisfied: automaton>=1.9.0 Handling eventlet>=0.30.1 from tox --print-deps-only: py39 Requirement satisfied: eventlet>=0.30.1 (installed: eventlet 0.36.1) Handling WebOb>=1.7.1 from tox --print-deps-only: py39 Requirement not satisfied: WebOb>=1.7.1 Handling keystoneauth1>=4.2.0 from tox --print-deps-only: py39 Requirement not satisfied: keystoneauth1>=4.2.0 Handling stevedore>=1.29.0 from tox --print-deps-only: py39 Requirement satisfied: stevedore>=1.29.0 (installed: stevedore 5.4.1) Handling oslo.concurrency>=4.2.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.concurrency>=4.2.0 Handling oslo.config>=6.8.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.config>=6.8.0 (installed: oslo.config 9.7.1) Handling oslo.context>=2.22.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.context>=2.22.0 Handling oslo.db>=9.1.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.db>=9.1.0 (installed: oslo.db 17.2.1) Handling oslo.rootwrap>=5.8.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.rootwrap>=5.8.0 Handling oslo.log>=4.3.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.log>=4.3.0 Handling oslo.middleware>=3.31.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.middleware>=3.31.0 Handling oslo.policy>=4.5.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.policy>=4.5.0 Handling oslo.serialization>=2.25.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.serialization>=2.25.0 Handling oslo.service>=1.24.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.service>=1.24.0 Handling oslo.upgradecheck>=1.3.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.upgradecheck>=1.3.0 Handling oslo.utils>=8.0.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.utils>=8.0.0 (installed: oslo.utils 8.2.0) Handling osprofiler>=1.5.0 from tox --print-deps-only: py39 Requirement not satisfied: osprofiler>=1.5.0 Handling os-traits>=0.4.0 from tox --print-deps-only: py39 Requirement not satisfied: os-traits>=0.4.0 Handling pecan>=1.0.0 from tox --print-deps-only: py39 Requirement not satisfied: pecan>=1.0.0 Handling pycdlib>=1.11.0 from tox --print-deps-only: py39 Requirement not satisfied: pycdlib>=1.11.0 Handling requests>=2.18.0 from tox --print-deps-only: py39 Requirement satisfied: requests>=2.18.0 (installed: requests 2.32.3) Handling rfc3986>=1.2.0 from tox --print-deps-only: py39 Requirement satisfied: rfc3986>=1.2.0 (installed: rfc3986 2.0.0) Handling jsonpatch>=1.16 from tox --print-deps-only: py39 Requirement not satisfied: jsonpatch>=1.16 Handling Jinja2>=3.0.0 from tox --print-deps-only: py39 Requirement satisfied: Jinja2>=3.0.0 (installed: Jinja2 3.0.1) Handling keystonemiddleware>=9.5.0 from tox --print-deps-only: py39 Requirement not satisfied: keystonemiddleware>=9.5.0 Handling oslo.messaging>=14.1.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.messaging>=14.1.0 Handling tenacity>=6.3.1 from tox --print-deps-only: py39 Requirement not satisfied: tenacity>=6.3.1 Handling oslo.versionedobjects>=1.31.2 from tox --print-deps-only: py39 Requirement not satisfied: oslo.versionedobjects>=1.31.2 Handling jsonschema>=4.0.0 from tox --print-deps-only: py39 Requirement not satisfied: jsonschema>=4.0.0 Handling psutil>=3.2.2 from tox --print-deps-only: py39 Requirement satisfied: psutil>=3.2.2 (installed: psutil 5.8.0) Handling futurist>=1.2.0 from tox --print-deps-only: py39 Requirement not satisfied: futurist>=1.2.0 Handling tooz>=2.7.0 from tox --print-deps-only: py39 Requirement not satisfied: tooz>=2.7.0 Handling openstacksdk>=0.99.0 from tox --print-deps-only: py39 Requirement not satisfied: openstacksdk>=0.99.0 Handling sushy>=4.8.0 from tox --print-deps-only: py39 Requirement not satisfied: sushy>=4.8.0 Handling construct>=2.9.39 from tox --print-deps-only: py39 Requirement not satisfied: construct>=2.9.39 Handling netaddr from tox --print-deps-only: py39 Requirement satisfied: netaddr (installed: netaddr 1.3.0) Handling microversion-parse>=1.0.1 from tox --print-deps-only: py39 Requirement not satisfied: microversion-parse>=1.0.1 Handling zeroconf>=0.24.0 from tox --print-deps-only: py39 Requirement not satisfied: zeroconf>=0.24.0 Handling os-service-types>=1.7.0 from tox --print-deps-only: py39 Requirement not satisfied: os-service-types>=1.7.0 Handling bcrypt>=3.1.3 from tox --print-deps-only: py39 Requirement not satisfied: bcrypt>=3.1.3 Handling websockify>=0.9.0 from tox --print-deps-only: py39 Requirement not satisfied: websockify>=0.9.0 Handling PyYAML from tox --print-deps-only: py39 Requirement satisfied: PyYAML (installed: PyYAML 5.4.1) Handling coverage>=4.0 from tox --print-deps-only: py39 Requirement not satisfied: coverage>=4.0 Handling ddt>=1.2.1 from tox --print-deps-only: py39 Requirement not satisfied: ddt>=1.2.1 Handling fixtures>=3.0.0 from tox --print-deps-only: py39 Requirement satisfied: fixtures>=3.0.0 (installed: fixtures 4.1.0) Handling PyMySQL>=0.8.0 from tox --print-deps-only: py39 Requirement satisfied: PyMySQL>=0.8.0 (installed: PyMySQL 0.10.1) Handling oslo.reports>=1.18.0 from tox --print-deps-only: py39 Requirement not satisfied: oslo.reports>=1.18.0 Handling oslotest>=3.2.0 from tox --print-deps-only: py39 Requirement satisfied: oslotest>=3.2.0 (installed: oslotest 5.0.1) Handling stestr>=2.0.0 from tox --print-deps-only: py39 Requirement not satisfied: stestr>=2.0.0 Handling testtools>=2.5.0 from tox --print-deps-only: py39 Requirement satisfied: testtools>=2.5.0 (installed: testtools 2.7.1) Handling WebTest>=2.0.27 from tox --print-deps-only: py39 Requirement not satisfied: WebTest>=2.0.27 Handling pysnmp-lextudio>=5.0.0 from tox --print-deps-only: py39 Requirement not satisfied: pysnmp-lextudio>=5.0.0 Handling pyasn1>=0.5.1 from tox --print-deps-only: py39 Requirement not satisfied: pyasn1>=0.5.1 Handling pyasn1-modules>=0.3.0 from tox --print-deps-only: py39 Requirement not satisfied: pyasn1-modules>=0.3.0 /usr/lib/python3.9/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.9/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 dist_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt writing requirements to ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt writing pbr to ironic.egg-info/pbr.json [pbr] Processing SOURCES.txt [pbr] In git context, generating filelist from git warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' adding license file 'AUTHORS' writing manifest file 'ironic.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/ironic-29.1.0.dev118/ironic-29.1.0.dev118.dist-info' adding license file "LICENSE" (matched pattern "LICEN[CS]E*") adding license file "AUTHORS" (matched pattern "AUTHORS*") Handling pbr (>=6.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: pbr (>=6.0.0) (installed: pbr 6.1.1) Handling SQLAlchemy (>=1.4.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: SQLAlchemy (>=1.4.0) (installed: SQLAlchemy 2.0.38) Handling alembic (>=1.4.2) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: alembic (>=1.4.2) (installed: alembic 1.14.1) Handling automaton (>=1.9.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: automaton (>=1.9.0) Handling eventlet (>=0.30.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: eventlet (>=0.30.1) (installed: eventlet 0.36.1) Handling WebOb (>=1.7.1) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: WebOb (>=1.7.1) Handling keystoneauth1 (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: keystoneauth1 (>=4.2.0) Handling stevedore (>=1.29.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: stevedore (>=1.29.0) (installed: stevedore 5.4.1) Handling oslo.concurrency (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.concurrency (>=4.2.0) Handling oslo.config (>=6.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.config (>=6.8.0) (installed: oslo.config 9.7.1) Handling oslo.context (>=2.22.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.context (>=2.22.0) Handling oslo.db (>=9.1.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.db (>=9.1.0) (installed: oslo.db 17.2.1) Handling oslo.rootwrap (>=5.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.rootwrap (>=5.8.0) Handling oslo.log (>=4.3.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.log (>=4.3.0) Handling oslo.middleware (>=3.31.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.middleware (>=3.31.0) Handling oslo.policy (>=4.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.policy (>=4.5.0) Handling oslo.serialization (>=2.25.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.serialization (>=2.25.0) Handling oslo.service (>=1.24.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.service (>=1.24.0) Handling oslo.upgradecheck (>=1.3.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.upgradecheck (>=1.3.0) Handling oslo.utils (>=8.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.utils (>=8.0.0) (installed: oslo.utils 8.2.0) Handling osprofiler (>=1.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: osprofiler (>=1.5.0) Handling os-traits (>=0.4.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: os-traits (>=0.4.0) Handling pecan (>=1.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: pecan (>=1.0.0) Handling pycdlib (>=1.11.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: pycdlib (>=1.11.0) Handling requests (>=2.18.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: requests (>=2.18.0) (installed: requests 2.32.3) Handling rfc3986 (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: rfc3986 (>=1.2.0) (installed: rfc3986 2.0.0) Handling jsonpatch (>=1.16) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: jsonpatch (>=1.16) Handling Jinja2 (>=3.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: Jinja2 (>=3.0.0) (installed: Jinja2 3.0.1) Handling keystonemiddleware (>=9.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: keystonemiddleware (>=9.5.0) Handling oslo.messaging (>=14.1.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.messaging (>=14.1.0) Handling tenacity (>=6.3.1) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: tenacity (>=6.3.1) Handling oslo.versionedobjects (>=1.31.2) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: oslo.versionedobjects (>=1.31.2) Handling jsonschema (>=4.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: jsonschema (>=4.0.0) Handling psutil (>=3.2.2) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: psutil (>=3.2.2) (installed: psutil 5.8.0) Handling futurist (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: futurist (>=1.2.0) Handling tooz (>=2.7.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: tooz (>=2.7.0) Handling openstacksdk (>=0.99.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: openstacksdk (>=0.99.0) Handling sushy (>=4.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: sushy (>=4.8.0) Handling construct (>=2.9.39) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: construct (>=2.9.39) Handling netaddr from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: netaddr (installed: netaddr 1.3.0) Handling microversion-parse (>=1.0.1) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: microversion-parse (>=1.0.1) Handling zeroconf (>=0.24.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: zeroconf (>=0.24.0) Handling os-service-types (>=1.7.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: os-service-types (>=1.7.0) Handling bcrypt (>=3.1.3) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: bcrypt (>=3.1.3) Handling websockify (>=0.9.0) from hook generated metadata: Requires-Dist (ironic) Requirement not satisfied: websockify (>=0.9.0) Handling PyYAML from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: PyYAML (installed: PyYAML 5.4.1) Handling virtualbmc (>=1.4.0) ; extra == 'devstack' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: virtualbmc (>=1.4.0) ; extra == 'devstack' Handling oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' Handling oslo.i18n (>=3.20.0) ; extra == 'i18n' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.i18n (>=3.20.0) ; extra == 'i18n' Handling coverage (>=4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: coverage (>=4.0) ; extra == 'test' Handling ddt (>=1.2.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: ddt (>=1.2.1) ; extra == 'test' Handling fixtures (>=3.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: fixtures (>=3.0.0) ; extra == 'test' Handling PyMySQL (>=0.8.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: PyMySQL (>=0.8.0) ; extra == 'test' Handling oslo.reports (>=1.18.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'test' Handling oslotest (>=3.2.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslotest (>=3.2.0) ; extra == 'test' Handling stestr (>=2.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: stestr (>=2.0.0) ; extra == 'test' Handling testtools (>=2.5.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: testtools (>=2.5.0) ; extra == 'test' Handling WebTest (>=2.0.27) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: WebTest (>=2.0.27) ; extra == 'test' Handling pysnmp-lextudio (>=5.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pysnmp-lextudio (>=5.0.0) ; extra == 'test' Handling pyasn1 (>=0.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pyasn1 (>=0.5.1) ; extra == 'test' Handling pyasn1-modules (>=0.3.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pyasn1-modules (>=0.3.0) ; extra == 'test' + cat /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires + rm -rfv ironic-29.1.0.dev118.dist-info/ removed 'ironic-29.1.0.dev118.dist-info/LICENSE' removed 'ironic-29.1.0.dev118.dist-info/AUTHORS' removed 'ironic-29.1.0.dev118.dist-info/METADATA' removed 'ironic-29.1.0.dev118.dist-info/entry_points.txt' removed 'ironic-29.1.0.dev118.dist-info/pbr.json' removed 'ironic-29.1.0.dev118.dist-info/top_level.txt' removed directory 'ironic-29.1.0.dev118.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-master-uc-x86_64-5/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=0uid=1020gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.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: x86_64 Building for target x86_64 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.jhwvLT + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + echo -n + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + RPM_TOXENV=py39 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires -t -e py39 Handling pbr>=6.0.0 from build-system.requires Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling setuptools>=64.0.0 from build-system.requires Requirement satisfied: setuptools>=64.0.0 (installed: setuptools 65.5.1) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.36.2) Handling pbr>=6.0.0 from get_requires_for_build_wheel Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.8) ___________________________________ summary ____________________________________ py39: commands succeeded congratulations :) Handling pbr>=6.0.0 from tox --print-deps-only: py39 Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling SQLAlchemy>=1.4.0 from tox --print-deps-only: py39 Requirement satisfied: SQLAlchemy>=1.4.0 (installed: SQLAlchemy 2.0.38) Handling alembic>=1.4.2 from tox --print-deps-only: py39 Requirement satisfied: alembic>=1.4.2 (installed: alembic 1.14.1) Handling automaton>=1.9.0 from tox --print-deps-only: py39 Requirement satisfied: automaton>=1.9.0 (installed: automaton 3.2.0) Handling eventlet>=0.30.1 from tox --print-deps-only: py39 Requirement satisfied: eventlet>=0.30.1 (installed: eventlet 0.36.1) Handling WebOb>=1.7.1 from tox --print-deps-only: py39 Requirement satisfied: WebOb>=1.7.1 (installed: WebOb 1.8.9) Handling keystoneauth1>=4.2.0 from tox --print-deps-only: py39 Requirement satisfied: keystoneauth1>=4.2.0 (installed: keystoneauth1 5.10.0) Handling stevedore>=1.29.0 from tox --print-deps-only: py39 Requirement satisfied: stevedore>=1.29.0 (installed: stevedore 5.4.1) Handling oslo.concurrency>=4.2.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.concurrency>=4.2.0 (installed: oslo.concurrency 7.1.0) Handling oslo.config>=6.8.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.config>=6.8.0 (installed: oslo.config 9.7.1) Handling oslo.context>=2.22.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.context>=2.22.0 (installed: oslo.context 5.7.1) Handling oslo.db>=9.1.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.db>=9.1.0 (installed: oslo.db 17.2.1) Handling oslo.rootwrap>=5.8.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.rootwrap>=5.8.0 (installed: oslo.rootwrap 7.5.1) Handling oslo.log>=4.3.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.log>=4.3.0 (installed: oslo.log 7.1.0) Handling oslo.middleware>=3.31.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.middleware>=3.31.0 (installed: oslo.middleware 6.5.0) Handling oslo.policy>=4.5.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.policy>=4.5.0 (installed: oslo.policy 4.5.1) Handling oslo.serialization>=2.25.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.serialization>=2.25.0 (installed: oslo.serialization 5.7.0) Handling oslo.service>=1.24.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.service>=1.24.0 (installed: oslo.service 4.1.1) Handling oslo.upgradecheck>=1.3.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.upgradecheck>=1.3.0 (installed: oslo.upgradecheck 2.5.0) Handling oslo.utils>=8.0.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.utils>=8.0.0 (installed: oslo.utils 8.2.0) Handling osprofiler>=1.5.0 from tox --print-deps-only: py39 Requirement satisfied: osprofiler>=1.5.0 (installed: osprofiler 4.2.0) Handling os-traits>=0.4.0 from tox --print-deps-only: py39 Requirement satisfied: os-traits>=0.4.0 (installed: os-traits 3.5.0) Handling pecan>=1.0.0 from tox --print-deps-only: py39 Requirement satisfied: pecan>=1.0.0 (installed: pecan 1.5.1) Handling pycdlib>=1.11.0 from tox --print-deps-only: py39 Requirement satisfied: pycdlib>=1.11.0 (installed: pycdlib 1.11.0) Handling requests>=2.18.0 from tox --print-deps-only: py39 Requirement satisfied: requests>=2.18.0 (installed: requests 2.32.3) Handling rfc3986>=1.2.0 from tox --print-deps-only: py39 Requirement satisfied: rfc3986>=1.2.0 (installed: rfc3986 2.0.0) Handling jsonpatch>=1.16 from tox --print-deps-only: py39 Requirement satisfied: jsonpatch>=1.16 (installed: jsonpatch 1.21) Handling Jinja2>=3.0.0 from tox --print-deps-only: py39 Requirement satisfied: Jinja2>=3.0.0 (installed: Jinja2 3.0.1) Handling keystonemiddleware>=9.5.0 from tox --print-deps-only: py39 Requirement satisfied: keystonemiddleware>=9.5.0 (installed: keystonemiddleware 10.9.0) Handling oslo.messaging>=14.1.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.messaging>=14.1.0 (installed: oslo.messaging 16.1.0) Handling tenacity>=6.3.1 from tox --print-deps-only: py39 Requirement satisfied: tenacity>=6.3.1 (installed: tenacity 8.2.3) Handling oslo.versionedobjects>=1.31.2 from tox --print-deps-only: py39 Requirement satisfied: oslo.versionedobjects>=1.31.2 (installed: oslo.versionedobjects 3.6.0) Handling jsonschema>=4.0.0 from tox --print-deps-only: py39 Requirement satisfied: jsonschema>=4.0.0 (installed: jsonschema 4.16.0) Handling psutil>=3.2.2 from tox --print-deps-only: py39 Requirement satisfied: psutil>=3.2.2 (installed: psutil 5.8.0) Handling futurist>=1.2.0 from tox --print-deps-only: py39 Requirement satisfied: futurist>=1.2.0 (installed: futurist 3.1.1) Handling tooz>=2.7.0 from tox --print-deps-only: py39 Requirement satisfied: tooz>=2.7.0 (installed: tooz 6.3.0) Handling openstacksdk>=0.99.0 from tox --print-deps-only: py39 Requirement satisfied: openstacksdk>=0.99.0 (installed: openstacksdk 4.5.0) Handling sushy>=4.8.0 from tox --print-deps-only: py39 Requirement satisfied: sushy>=4.8.0 (installed: sushy 5.6.0) Handling construct>=2.9.39 from tox --print-deps-only: py39 Requirement satisfied: construct>=2.9.39 (installed: construct 2.10.70) Handling netaddr from tox --print-deps-only: py39 Requirement satisfied: netaddr (installed: netaddr 1.3.0) Handling microversion-parse>=1.0.1 from tox --print-deps-only: py39 Requirement satisfied: microversion-parse>=1.0.1 (installed: microversion-parse 2.0.0) Handling zeroconf>=0.24.0 from tox --print-deps-only: py39 Requirement satisfied: zeroconf>=0.24.0 (installed: zeroconf 0.38.7) Handling os-service-types>=1.7.0 from tox --print-deps-only: py39 Requirement satisfied: os-service-types>=1.7.0 (installed: os-service-types 1.7.0) Handling bcrypt>=3.1.3 from tox --print-deps-only: py39 Requirement satisfied: bcrypt>=3.1.3 (installed: bcrypt 3.2.2) Handling websockify>=0.9.0 from tox --print-deps-only: py39 Requirement satisfied: websockify>=0.9.0 (installed: websockify 0.12.0) Handling PyYAML from tox --print-deps-only: py39 Requirement satisfied: PyYAML (installed: PyYAML 5.4.1) Handling coverage>=4.0 from tox --print-deps-only: py39 Requirement satisfied: coverage>=4.0 (installed: coverage 7.3.2) Handling ddt>=1.2.1 from tox --print-deps-only: py39 Requirement satisfied: ddt>=1.2.1 (installed: ddt 1.6.0) Handling fixtures>=3.0.0 from tox --print-deps-only: py39 Requirement satisfied: fixtures>=3.0.0 (installed: fixtures 4.1.0) Handling PyMySQL>=0.8.0 from tox --print-deps-only: py39 Requirement satisfied: PyMySQL>=0.8.0 (installed: PyMySQL 0.10.1) Handling oslo.reports>=1.18.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.reports>=1.18.0 (installed: oslo.reports 3.5.1) Handling oslotest>=3.2.0 from tox --print-deps-only: py39 Requirement satisfied: oslotest>=3.2.0 (installed: oslotest 5.0.1) Handling stestr>=2.0.0 from tox --print-deps-only: py39 Requirement satisfied: stestr>=2.0.0 (installed: stestr 4.1.0) Handling testtools>=2.5.0 from tox --print-deps-only: py39 Requirement satisfied: testtools>=2.5.0 (installed: testtools 2.7.1) Handling WebTest>=2.0.27 from tox --print-deps-only: py39 Requirement satisfied: WebTest>=2.0.27 (installed: WebTest 3.0.0) Handling pysnmp-lextudio>=5.0.0 from tox --print-deps-only: py39 Requirement satisfied: pysnmp-lextudio>=5.0.0 (installed: pysnmp-lextudio 5.0.26) Handling pyasn1>=0.5.1 from tox --print-deps-only: py39 Requirement satisfied: pyasn1>=0.5.1 (installed: pyasn1 0.6.0) Handling pyasn1-modules>=0.3.0 from tox --print-deps-only: py39 Requirement satisfied: pyasn1-modules>=0.3.0 (installed: pyasn1-modules 0.4.0) /usr/lib/python3.9/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.9/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 dist_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt writing requirements to ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt writing pbr to ironic.egg-info/pbr.json [pbr] Processing SOURCES.txt [pbr] In git context, generating filelist from git warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' adding license file 'AUTHORS' writing manifest file 'ironic.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/ironic-29.1.0.dev118/ironic-29.1.0.dev118.dist-info' adding license file "LICENSE" (matched pattern "LICEN[CS]E*") adding license file "AUTHORS" (matched pattern "AUTHORS*") Handling pbr (>=6.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: pbr (>=6.0.0) (installed: pbr 6.1.1) Handling SQLAlchemy (>=1.4.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: SQLAlchemy (>=1.4.0) (installed: SQLAlchemy 2.0.38) Handling alembic (>=1.4.2) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: alembic (>=1.4.2) (installed: alembic 1.14.1) Handling automaton (>=1.9.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: automaton (>=1.9.0) (installed: automaton 3.2.0) Handling eventlet (>=0.30.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: eventlet (>=0.30.1) (installed: eventlet 0.36.1) Handling WebOb (>=1.7.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: WebOb (>=1.7.1) (installed: WebOb 1.8.9) Handling keystoneauth1 (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: keystoneauth1 (>=4.2.0) (installed: keystoneauth1 5.10.0) Handling stevedore (>=1.29.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: stevedore (>=1.29.0) (installed: stevedore 5.4.1) Handling oslo.concurrency (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.concurrency (>=4.2.0) (installed: oslo.concurrency 7.1.0) Handling oslo.config (>=6.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.config (>=6.8.0) (installed: oslo.config 9.7.1) Handling oslo.context (>=2.22.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.context (>=2.22.0) (installed: oslo.context 5.7.1) Handling oslo.db (>=9.1.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.db (>=9.1.0) (installed: oslo.db 17.2.1) Handling oslo.rootwrap (>=5.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.rootwrap (>=5.8.0) (installed: oslo.rootwrap 7.5.1) Handling oslo.log (>=4.3.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.log (>=4.3.0) (installed: oslo.log 7.1.0) Handling oslo.middleware (>=3.31.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.middleware (>=3.31.0) (installed: oslo.middleware 6.5.0) Handling oslo.policy (>=4.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.policy (>=4.5.0) (installed: oslo.policy 4.5.1) Handling oslo.serialization (>=2.25.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.serialization (>=2.25.0) (installed: oslo.serialization 5.7.0) Handling oslo.service (>=1.24.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.service (>=1.24.0) (installed: oslo.service 4.1.1) Handling oslo.upgradecheck (>=1.3.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.upgradecheck (>=1.3.0) (installed: oslo.upgradecheck 2.5.0) Handling oslo.utils (>=8.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.utils (>=8.0.0) (installed: oslo.utils 8.2.0) Handling osprofiler (>=1.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: osprofiler (>=1.5.0) (installed: osprofiler 4.2.0) Handling os-traits (>=0.4.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: os-traits (>=0.4.0) (installed: os-traits 3.5.0) Handling pecan (>=1.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: pecan (>=1.0.0) (installed: pecan 1.5.1) Handling pycdlib (>=1.11.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: pycdlib (>=1.11.0) (installed: pycdlib 1.11.0) Handling requests (>=2.18.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: requests (>=2.18.0) (installed: requests 2.32.3) Handling rfc3986 (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: rfc3986 (>=1.2.0) (installed: rfc3986 2.0.0) Handling jsonpatch (>=1.16) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: jsonpatch (>=1.16) (installed: jsonpatch 1.21) Handling Jinja2 (>=3.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: Jinja2 (>=3.0.0) (installed: Jinja2 3.0.1) Handling keystonemiddleware (>=9.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: keystonemiddleware (>=9.5.0) (installed: keystonemiddleware 10.9.0) Handling oslo.messaging (>=14.1.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.messaging (>=14.1.0) (installed: oslo.messaging 16.1.0) Handling tenacity (>=6.3.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: tenacity (>=6.3.1) (installed: tenacity 8.2.3) Handling oslo.versionedobjects (>=1.31.2) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.versionedobjects (>=1.31.2) (installed: oslo.versionedobjects 3.6.0) Handling jsonschema (>=4.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: jsonschema (>=4.0.0) (installed: jsonschema 4.16.0) Handling psutil (>=3.2.2) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: psutil (>=3.2.2) (installed: psutil 5.8.0) Handling futurist (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: futurist (>=1.2.0) (installed: futurist 3.1.1) Handling tooz (>=2.7.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: tooz (>=2.7.0) (installed: tooz 6.3.0) Handling openstacksdk (>=0.99.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: openstacksdk (>=0.99.0) (installed: openstacksdk 4.5.0) Handling sushy (>=4.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: sushy (>=4.8.0) (installed: sushy 5.6.0) Handling construct (>=2.9.39) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: construct (>=2.9.39) (installed: construct 2.10.70) Handling netaddr from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: netaddr (installed: netaddr 1.3.0) Handling microversion-parse (>=1.0.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: microversion-parse (>=1.0.1) (installed: microversion-parse 2.0.0) Handling zeroconf (>=0.24.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: zeroconf (>=0.24.0) (installed: zeroconf 0.38.7) Handling os-service-types (>=1.7.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: os-service-types (>=1.7.0) (installed: os-service-types 1.7.0) Handling bcrypt (>=3.1.3) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: bcrypt (>=3.1.3) (installed: bcrypt 3.2.2) Handling websockify (>=0.9.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: websockify (>=0.9.0) (installed: websockify 0.12.0) Handling PyYAML from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: PyYAML (installed: PyYAML 5.4.1) Handling virtualbmc (>=1.4.0) ; extra == 'devstack' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: virtualbmc (>=1.4.0) ; extra == 'devstack' Handling oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' Handling oslo.i18n (>=3.20.0) ; extra == 'i18n' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.i18n (>=3.20.0) ; extra == 'i18n' Handling coverage (>=4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: coverage (>=4.0) ; extra == 'test' Handling ddt (>=1.2.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: ddt (>=1.2.1) ; extra == 'test' Handling fixtures (>=3.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: fixtures (>=3.0.0) ; extra == 'test' Handling PyMySQL (>=0.8.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: PyMySQL (>=0.8.0) ; extra == 'test' Handling oslo.reports (>=1.18.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'test' Handling oslotest (>=3.2.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslotest (>=3.2.0) ; extra == 'test' Handling stestr (>=2.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: stestr (>=2.0.0) ; extra == 'test' Handling testtools (>=2.5.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: testtools (>=2.5.0) ; extra == 'test' Handling WebTest (>=2.0.27) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: WebTest (>=2.0.27) ; extra == 'test' Handling pysnmp-lextudio (>=5.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pysnmp-lextudio (>=5.0.0) ; extra == 'test' Handling pyasn1 (>=0.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pyasn1 (>=0.5.1) ; extra == 'test' Handling pyasn1-modules (>=0.3.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pyasn1-modules (>=0.3.0) ; extra == 'test' + cat /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires + rm -rfv ironic-29.1.0.dev118.dist-info/ removed 'ironic-29.1.0.dev118.dist-info/AUTHORS' removed 'ironic-29.1.0.dev118.dist-info/LICENSE' removed 'ironic-29.1.0.dev118.dist-info/METADATA' removed 'ironic-29.1.0.dev118.dist-info/top_level.txt' removed 'ironic-29.1.0.dev118.dist-info/pbr.json' removed 'ironic-29.1.0.dev118.dist-info/entry_points.txt' removed directory 'ironic-29.1.0.dev118.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --target x86_64 /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-master-uc-x86_64-5/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=0uid=1020gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock']) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --target x86_64 /builddir/build/SPECS/openstack-ironic.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: x86_64 Building for target x86_64 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.0BAdiE + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + echo -n + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + RPM_TOXENV=py39 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires -t -e py39 Handling pbr>=6.0.0 from build-system.requires Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling setuptools>=64.0.0 from build-system.requires Requirement satisfied: setuptools>=64.0.0 (installed: setuptools 65.5.1) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.36.2) Handling pbr>=6.0.0 from get_requires_for_build_wheel Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.8) ___________________________________ summary ____________________________________ py39: commands succeeded congratulations :) Handling pbr>=6.0.0 from tox --print-deps-only: py39 Requirement satisfied: pbr>=6.0.0 (installed: pbr 6.1.1) Handling SQLAlchemy>=1.4.0 from tox --print-deps-only: py39 Requirement satisfied: SQLAlchemy>=1.4.0 (installed: SQLAlchemy 2.0.38) Handling alembic>=1.4.2 from tox --print-deps-only: py39 Requirement satisfied: alembic>=1.4.2 (installed: alembic 1.14.1) Handling automaton>=1.9.0 from tox --print-deps-only: py39 Requirement satisfied: automaton>=1.9.0 (installed: automaton 3.2.0) Handling eventlet>=0.30.1 from tox --print-deps-only: py39 Requirement satisfied: eventlet>=0.30.1 (installed: eventlet 0.36.1) Handling WebOb>=1.7.1 from tox --print-deps-only: py39 Requirement satisfied: WebOb>=1.7.1 (installed: WebOb 1.8.9) Handling keystoneauth1>=4.2.0 from tox --print-deps-only: py39 Requirement satisfied: keystoneauth1>=4.2.0 (installed: keystoneauth1 5.10.0) Handling stevedore>=1.29.0 from tox --print-deps-only: py39 Requirement satisfied: stevedore>=1.29.0 (installed: stevedore 5.4.1) Handling oslo.concurrency>=4.2.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.concurrency>=4.2.0 (installed: oslo.concurrency 7.1.0) Handling oslo.config>=6.8.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.config>=6.8.0 (installed: oslo.config 9.7.1) Handling oslo.context>=2.22.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.context>=2.22.0 (installed: oslo.context 5.7.1) Handling oslo.db>=9.1.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.db>=9.1.0 (installed: oslo.db 17.2.1) Handling oslo.rootwrap>=5.8.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.rootwrap>=5.8.0 (installed: oslo.rootwrap 7.5.1) Handling oslo.log>=4.3.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.log>=4.3.0 (installed: oslo.log 7.1.0) Handling oslo.middleware>=3.31.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.middleware>=3.31.0 (installed: oslo.middleware 6.5.0) Handling oslo.policy>=4.5.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.policy>=4.5.0 (installed: oslo.policy 4.5.1) Handling oslo.serialization>=2.25.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.serialization>=2.25.0 (installed: oslo.serialization 5.7.0) Handling oslo.service>=1.24.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.service>=1.24.0 (installed: oslo.service 4.1.1) Handling oslo.upgradecheck>=1.3.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.upgradecheck>=1.3.0 (installed: oslo.upgradecheck 2.5.0) Handling oslo.utils>=8.0.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.utils>=8.0.0 (installed: oslo.utils 8.2.0) Handling osprofiler>=1.5.0 from tox --print-deps-only: py39 Requirement satisfied: osprofiler>=1.5.0 (installed: osprofiler 4.2.0) Handling os-traits>=0.4.0 from tox --print-deps-only: py39 Requirement satisfied: os-traits>=0.4.0 (installed: os-traits 3.5.0) Handling pecan>=1.0.0 from tox --print-deps-only: py39 Requirement satisfied: pecan>=1.0.0 (installed: pecan 1.5.1) Handling pycdlib>=1.11.0 from tox --print-deps-only: py39 Requirement satisfied: pycdlib>=1.11.0 (installed: pycdlib 1.11.0) Handling requests>=2.18.0 from tox --print-deps-only: py39 Requirement satisfied: requests>=2.18.0 (installed: requests 2.32.3) Handling rfc3986>=1.2.0 from tox --print-deps-only: py39 Requirement satisfied: rfc3986>=1.2.0 (installed: rfc3986 2.0.0) Handling jsonpatch>=1.16 from tox --print-deps-only: py39 Requirement satisfied: jsonpatch>=1.16 (installed: jsonpatch 1.21) Handling Jinja2>=3.0.0 from tox --print-deps-only: py39 Requirement satisfied: Jinja2>=3.0.0 (installed: Jinja2 3.0.1) Handling keystonemiddleware>=9.5.0 from tox --print-deps-only: py39 Requirement satisfied: keystonemiddleware>=9.5.0 (installed: keystonemiddleware 10.9.0) Handling oslo.messaging>=14.1.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.messaging>=14.1.0 (installed: oslo.messaging 16.1.0) Handling tenacity>=6.3.1 from tox --print-deps-only: py39 Requirement satisfied: tenacity>=6.3.1 (installed: tenacity 8.2.3) Handling oslo.versionedobjects>=1.31.2 from tox --print-deps-only: py39 Requirement satisfied: oslo.versionedobjects>=1.31.2 (installed: oslo.versionedobjects 3.6.0) Handling jsonschema>=4.0.0 from tox --print-deps-only: py39 Requirement satisfied: jsonschema>=4.0.0 (installed: jsonschema 4.16.0) Handling psutil>=3.2.2 from tox --print-deps-only: py39 Requirement satisfied: psutil>=3.2.2 (installed: psutil 5.8.0) Handling futurist>=1.2.0 from tox --print-deps-only: py39 Requirement satisfied: futurist>=1.2.0 (installed: futurist 3.1.1) Handling tooz>=2.7.0 from tox --print-deps-only: py39 Requirement satisfied: tooz>=2.7.0 (installed: tooz 6.3.0) Handling openstacksdk>=0.99.0 from tox --print-deps-only: py39 Requirement satisfied: openstacksdk>=0.99.0 (installed: openstacksdk 4.5.0) Handling sushy>=4.8.0 from tox --print-deps-only: py39 Requirement satisfied: sushy>=4.8.0 (installed: sushy 5.6.0) Handling construct>=2.9.39 from tox --print-deps-only: py39 Requirement satisfied: construct>=2.9.39 (installed: construct 2.10.70) Handling netaddr from tox --print-deps-only: py39 Requirement satisfied: netaddr (installed: netaddr 1.3.0) Handling microversion-parse>=1.0.1 from tox --print-deps-only: py39 Requirement satisfied: microversion-parse>=1.0.1 (installed: microversion-parse 2.0.0) Handling zeroconf>=0.24.0 from tox --print-deps-only: py39 Requirement satisfied: zeroconf>=0.24.0 (installed: zeroconf 0.38.7) Handling os-service-types>=1.7.0 from tox --print-deps-only: py39 Requirement satisfied: os-service-types>=1.7.0 (installed: os-service-types 1.7.0) Handling bcrypt>=3.1.3 from tox --print-deps-only: py39 Requirement satisfied: bcrypt>=3.1.3 (installed: bcrypt 3.2.2) Handling websockify>=0.9.0 from tox --print-deps-only: py39 Requirement satisfied: websockify>=0.9.0 (installed: websockify 0.12.0) Handling PyYAML from tox --print-deps-only: py39 Requirement satisfied: PyYAML (installed: PyYAML 5.4.1) Handling coverage>=4.0 from tox --print-deps-only: py39 Requirement satisfied: coverage>=4.0 (installed: coverage 7.3.2) Handling ddt>=1.2.1 from tox --print-deps-only: py39 Requirement satisfied: ddt>=1.2.1 (installed: ddt 1.6.0) Handling fixtures>=3.0.0 from tox --print-deps-only: py39 Requirement satisfied: fixtures>=3.0.0 (installed: fixtures 4.1.0) Handling PyMySQL>=0.8.0 from tox --print-deps-only: py39 Requirement satisfied: PyMySQL>=0.8.0 (installed: PyMySQL 0.10.1) Handling oslo.reports>=1.18.0 from tox --print-deps-only: py39 Requirement satisfied: oslo.reports>=1.18.0 (installed: oslo.reports 3.5.1) Handling oslotest>=3.2.0 from tox --print-deps-only: py39 Requirement satisfied: oslotest>=3.2.0 (installed: oslotest 5.0.1) Handling stestr>=2.0.0 from tox --print-deps-only: py39 Requirement satisfied: stestr>=2.0.0 (installed: stestr 4.1.0) Handling testtools>=2.5.0 from tox --print-deps-only: py39 Requirement satisfied: testtools>=2.5.0 (installed: testtools 2.7.1) Handling WebTest>=2.0.27 from tox --print-deps-only: py39 Requirement satisfied: WebTest>=2.0.27 (installed: WebTest 3.0.0) Handling pysnmp-lextudio>=5.0.0 from tox --print-deps-only: py39 Requirement satisfied: pysnmp-lextudio>=5.0.0 (installed: pysnmp-lextudio 5.0.26) Handling pyasn1>=0.5.1 from tox --print-deps-only: py39 Requirement satisfied: pyasn1>=0.5.1 (installed: pyasn1 0.6.0) Handling pyasn1-modules>=0.3.0 from tox --print-deps-only: py39 Requirement satisfied: pyasn1-modules>=0.3.0 (installed: pyasn1-modules 0.4.0) /usr/lib/python3.9/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.9/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 dist_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt writing requirements to ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt writing pbr to ironic.egg-info/pbr.json [pbr] Processing SOURCES.txt [pbr] In git context, generating filelist from git warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' adding license file 'AUTHORS' writing manifest file 'ironic.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/ironic-29.1.0.dev118/ironic-29.1.0.dev118.dist-info' adding license file "LICENSE" (matched pattern "LICEN[CS]E*") adding license file "AUTHORS" (matched pattern "AUTHORS*") Handling pbr (>=6.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: pbr (>=6.0.0) (installed: pbr 6.1.1) Handling SQLAlchemy (>=1.4.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: SQLAlchemy (>=1.4.0) (installed: SQLAlchemy 2.0.38) Handling alembic (>=1.4.2) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: alembic (>=1.4.2) (installed: alembic 1.14.1) Handling automaton (>=1.9.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: automaton (>=1.9.0) (installed: automaton 3.2.0) Handling eventlet (>=0.30.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: eventlet (>=0.30.1) (installed: eventlet 0.36.1) Handling WebOb (>=1.7.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: WebOb (>=1.7.1) (installed: WebOb 1.8.9) Handling keystoneauth1 (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: keystoneauth1 (>=4.2.0) (installed: keystoneauth1 5.10.0) Handling stevedore (>=1.29.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: stevedore (>=1.29.0) (installed: stevedore 5.4.1) Handling oslo.concurrency (>=4.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.concurrency (>=4.2.0) (installed: oslo.concurrency 7.1.0) Handling oslo.config (>=6.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.config (>=6.8.0) (installed: oslo.config 9.7.1) Handling oslo.context (>=2.22.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.context (>=2.22.0) (installed: oslo.context 5.7.1) Handling oslo.db (>=9.1.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.db (>=9.1.0) (installed: oslo.db 17.2.1) Handling oslo.rootwrap (>=5.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.rootwrap (>=5.8.0) (installed: oslo.rootwrap 7.5.1) Handling oslo.log (>=4.3.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.log (>=4.3.0) (installed: oslo.log 7.1.0) Handling oslo.middleware (>=3.31.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.middleware (>=3.31.0) (installed: oslo.middleware 6.5.0) Handling oslo.policy (>=4.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.policy (>=4.5.0) (installed: oslo.policy 4.5.1) Handling oslo.serialization (>=2.25.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.serialization (>=2.25.0) (installed: oslo.serialization 5.7.0) Handling oslo.service (>=1.24.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.service (>=1.24.0) (installed: oslo.service 4.1.1) Handling oslo.upgradecheck (>=1.3.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.upgradecheck (>=1.3.0) (installed: oslo.upgradecheck 2.5.0) Handling oslo.utils (>=8.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.utils (>=8.0.0) (installed: oslo.utils 8.2.0) Handling osprofiler (>=1.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: osprofiler (>=1.5.0) (installed: osprofiler 4.2.0) Handling os-traits (>=0.4.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: os-traits (>=0.4.0) (installed: os-traits 3.5.0) Handling pecan (>=1.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: pecan (>=1.0.0) (installed: pecan 1.5.1) Handling pycdlib (>=1.11.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: pycdlib (>=1.11.0) (installed: pycdlib 1.11.0) Handling requests (>=2.18.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: requests (>=2.18.0) (installed: requests 2.32.3) Handling rfc3986 (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: rfc3986 (>=1.2.0) (installed: rfc3986 2.0.0) Handling jsonpatch (>=1.16) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: jsonpatch (>=1.16) (installed: jsonpatch 1.21) Handling Jinja2 (>=3.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: Jinja2 (>=3.0.0) (installed: Jinja2 3.0.1) Handling keystonemiddleware (>=9.5.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: keystonemiddleware (>=9.5.0) (installed: keystonemiddleware 10.9.0) Handling oslo.messaging (>=14.1.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.messaging (>=14.1.0) (installed: oslo.messaging 16.1.0) Handling tenacity (>=6.3.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: tenacity (>=6.3.1) (installed: tenacity 8.2.3) Handling oslo.versionedobjects (>=1.31.2) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: oslo.versionedobjects (>=1.31.2) (installed: oslo.versionedobjects 3.6.0) Handling jsonschema (>=4.0.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: jsonschema (>=4.0.0) (installed: jsonschema 4.16.0) Handling psutil (>=3.2.2) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: psutil (>=3.2.2) (installed: psutil 5.8.0) Handling futurist (>=1.2.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: futurist (>=1.2.0) (installed: futurist 3.1.1) Handling tooz (>=2.7.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: tooz (>=2.7.0) (installed: tooz 6.3.0) Handling openstacksdk (>=0.99.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: openstacksdk (>=0.99.0) (installed: openstacksdk 4.5.0) Handling sushy (>=4.8.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: sushy (>=4.8.0) (installed: sushy 5.6.0) Handling construct (>=2.9.39) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: construct (>=2.9.39) (installed: construct 2.10.70) Handling netaddr from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: netaddr (installed: netaddr 1.3.0) Handling microversion-parse (>=1.0.1) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: microversion-parse (>=1.0.1) (installed: microversion-parse 2.0.0) Handling zeroconf (>=0.24.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: zeroconf (>=0.24.0) (installed: zeroconf 0.38.7) Handling os-service-types (>=1.7.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: os-service-types (>=1.7.0) (installed: os-service-types 1.7.0) Handling bcrypt (>=3.1.3) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: bcrypt (>=3.1.3) (installed: bcrypt 3.2.2) Handling websockify (>=0.9.0) from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: websockify (>=0.9.0) (installed: websockify 0.12.0) Handling PyYAML from hook generated metadata: Requires-Dist (ironic) Requirement satisfied: PyYAML (installed: PyYAML 5.4.1) Handling virtualbmc (>=1.4.0) ; extra == 'devstack' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: virtualbmc (>=1.4.0) ; extra == 'devstack' Handling oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'guru_meditation_reports' Handling oslo.i18n (>=3.20.0) ; extra == 'i18n' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.i18n (>=3.20.0) ; extra == 'i18n' Handling coverage (>=4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: coverage (>=4.0) ; extra == 'test' Handling ddt (>=1.2.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: ddt (>=1.2.1) ; extra == 'test' Handling fixtures (>=3.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: fixtures (>=3.0.0) ; extra == 'test' Handling PyMySQL (>=0.8.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: PyMySQL (>=0.8.0) ; extra == 'test' Handling oslo.reports (>=1.18.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslo.reports (>=1.18.0) ; extra == 'test' Handling oslotest (>=3.2.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: oslotest (>=3.2.0) ; extra == 'test' Handling stestr (>=2.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: stestr (>=2.0.0) ; extra == 'test' Handling testtools (>=2.5.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: testtools (>=2.5.0) ; extra == 'test' Handling WebTest (>=2.0.27) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: WebTest (>=2.0.27) ; extra == 'test' Handling pysnmp-lextudio (>=5.0.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pysnmp-lextudio (>=5.0.0) ; extra == 'test' Handling pyasn1 (>=0.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pyasn1 (>=0.5.1) ; extra == 'test' Handling pyasn1-modules (>=0.3.0) ; extra == 'test' from hook generated metadata: Requires-Dist (ironic) Ignoring alien requirement: pyasn1-modules (>=0.3.0) ; extra == 'test' + cat /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-buildrequires + rm -rfv ironic-29.1.0.dev118.dist-info/ removed 'ironic-29.1.0.dev118.dist-info/AUTHORS' removed 'ironic-29.1.0.dev118.dist-info/LICENSE' removed 'ironic-29.1.0.dev118.dist-info/METADATA' removed 'ironic-29.1.0.dev118.dist-info/entry_points.txt' removed 'ironic-29.1.0.dev118.dist-info/pbr.json' removed 'ironic-29.1.0.dev118.dist-info/top_level.txt' removed directory 'ironic-29.1.0.dev118.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.jZOCyp + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + mkdir -p /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib64/gfortran/modules' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir Processing /builddir/build/BUILD/ironic-29.1.0.dev118 Preparing metadata (pyproject.toml): started Running command /usr/bin/python3 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/tmpbb5zc2wa /usr/lib/python3.9/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.9/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 dist_info creating /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info writing /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info/dependency_links.txt writing entry points to /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info/entry_points.txt writing requirements to /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info/top_level.txt writing pbr to /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info/pbr.json [pbr] Processing SOURCES.txt writing manifest file '/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info/SOURCES.txt' [pbr] In git context, generating filelist from git warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' adding license file 'AUTHORS' writing manifest file '/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-modern-metadata-vphg0t0d/ironic-29.1.0.dev118.dist-info' adding license file "LICENSE" (matched pattern "LICEN[CS]E*") adding license file "AUTHORS" (matched pattern "AUTHORS*") Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: ironic Building wheel for ironic (pyproject.toml): started Running command /usr/bin/python3 /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/tmp8nga011o /usr/lib/python3.9/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( running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/ironic creating build/lib/ironic/tests creating build/lib/ironic/tests/unit creating build/lib/ironic/tests/unit/pxe_filter copying ironic/tests/unit/pxe_filter/test_service.py -> build/lib/ironic/tests/unit/pxe_filter copying ironic/tests/unit/pxe_filter/test_dnsmasq.py -> build/lib/ironic/tests/unit/pxe_filter copying ironic/tests/unit/pxe_filter/__init__.py -> build/lib/ironic/tests/unit/pxe_filter creating build/lib/ironic/drivers copying ironic/drivers/utils.py -> build/lib/ironic/drivers copying ironic/drivers/snmp.py -> build/lib/ironic/drivers copying ironic/drivers/redfish.py -> build/lib/ironic/drivers copying ironic/drivers/irmc.py -> build/lib/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/intel_ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/ilo.py -> build/lib/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers copying ironic/drivers/generic.py -> build/lib/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers copying ironic/drivers/drac.py -> build/lib/ironic/drivers copying ironic/drivers/base.py -> build/lib/ironic/drivers copying ironic/drivers/__init__.py -> build/lib/ironic/drivers creating build/lib/ironic/tests/unit/console creating build/lib/ironic/tests/unit/console/rfb copying ironic/tests/unit/console/rfb/test_authnone.py -> build/lib/ironic/tests/unit/console/rfb copying ironic/tests/unit/console/rfb/test_auth.py -> build/lib/ironic/tests/unit/console/rfb copying ironic/tests/unit/console/rfb/__init__.py -> build/lib/ironic/tests/unit/console/rfb creating build/lib/ironic/drivers/modules creating build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/neutron.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/flat.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/common.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/__init__.py -> build/lib/ironic/drivers/modules/network creating build/lib/ironic/objects copying ironic/objects/volume_target.py -> build/lib/ironic/objects copying ironic/objects/volume_connector.py -> build/lib/ironic/objects copying ironic/objects/trait.py -> build/lib/ironic/objects copying ironic/objects/runbook.py -> build/lib/ironic/objects copying ironic/objects/portgroup.py -> build/lib/ironic/objects copying ironic/objects/port.py -> build/lib/ironic/objects copying ironic/objects/notification.py -> build/lib/ironic/objects copying ironic/objects/node_inventory.py -> build/lib/ironic/objects copying ironic/objects/node_history.py -> build/lib/ironic/objects copying ironic/objects/node.py -> build/lib/ironic/objects copying ironic/objects/inspection_rule.py -> build/lib/ironic/objects copying ironic/objects/indirection.py -> build/lib/ironic/objects copying ironic/objects/firmware.py -> build/lib/ironic/objects copying ironic/objects/fields.py -> build/lib/ironic/objects copying ironic/objects/deployment.py -> build/lib/ironic/objects copying ironic/objects/deploy_template.py -> build/lib/ironic/objects copying ironic/objects/conductor.py -> build/lib/ironic/objects copying ironic/objects/chassis.py -> build/lib/ironic/objects copying ironic/objects/bios.py -> build/lib/ironic/objects copying ironic/objects/base.py -> build/lib/ironic/objects copying ironic/objects/allocation.py -> build/lib/ironic/objects copying ironic/objects/__init__.py -> build/lib/ironic/objects creating build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_verify.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_task_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_steps.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_servicing.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_rpcapi.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_rpc_service.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_periodics.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_inspection.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_deployments.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_cleaning.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_allocations.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/mgr_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor creating build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi creating build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_wsgi_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_vnc.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_swift.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_release_mappings.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_raid.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_qemu_img.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_policy.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_oci_registry.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_nova.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_neutron.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_molds.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_mdns.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_kickstart_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_json_rpc.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_inspection_rule.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_images.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_image_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_image_publisher.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_exception.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_cinder.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_checksum_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_args.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/__init__.py -> build/lib/ironic/tests/unit/common creating build/lib/ironic/console creating build/lib/ironic/console/container copying ironic/console/container/systemd.py -> build/lib/ironic/console/container copying ironic/console/container/fake.py -> build/lib/ironic/console/container copying ironic/console/container/base.py -> build/lib/ironic/console/container copying ironic/console/container/__init__.py -> build/lib/ironic/console/container creating build/lib/ironic/console/securityproxy copying ironic/console/securityproxy/rfb.py -> build/lib/ironic/console/securityproxy copying ironic/console/securityproxy/base.py -> build/lib/ironic/console/securityproxy copying ironic/console/securityproxy/__init__.py -> build/lib/ironic/console/securityproxy creating build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ramdisk.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_base.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop_mgmt.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/inspect_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_cache.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/graphical_console.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/fake.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/deploy_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/console_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/boot_mode_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_power.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_base.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules creating build/lib/ironic/common creating build/lib/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/image_service.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service creating build/lib/ironic/api creating build/lib/ironic/api/controllers creating build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_target.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_connector.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/versions.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/shard.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/runbook.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/ramdisk.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/portgroup.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/port.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/notification_utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/node.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/inspection_rule.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/firmware.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/event.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/driver.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/deploy_template.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/conductor.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/collection.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/chassis.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/bios.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/allocation.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/__init__.py -> build/lib/ironic/api/controllers/v1 creating build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_external.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage creating build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible creating build/lib/ironic/tests/unit/api creating build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_versions.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_shard.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_runbook.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_root.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_port.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_node.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_inspection_rule.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_event.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_driver.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_collection.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 creating build/lib/ironic/tests/unit/drivers/modules/inspector copying ironic/tests/unit/drivers/modules/inspector/test_interface.py -> build/lib/ironic/tests/unit/drivers/modules/inspector copying ironic/tests/unit/drivers/modules/inspector/test_client.py -> build/lib/ironic/tests/unit/drivers/modules/inspector copying ironic/tests/unit/drivers/modules/inspector/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules/inspector copying ironic/tests/unit/drivers/modules/inspector/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/inspector creating build/lib/ironic/tests/unit/console/container copying ironic/tests/unit/console/container/test_console_container.py -> build/lib/ironic/tests/unit/console/container copying ironic/tests/unit/console/container/__init__.py -> build/lib/ironic/tests/unit/console/container creating build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/server.py -> build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/client.py -> build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/__init__.py -> build/lib/ironic/common/json_rpc creating build/lib/ironic/hacking copying ironic/hacking/checks.py -> build/lib/ironic/hacking copying ironic/hacking/__init__.py -> build/lib/ironic/hacking creating build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/drac creating build/lib/ironic/tests/unit/api/validation copying ironic/tests/unit/api/validation/test_validators.py -> build/lib/ironic/tests/unit/api/validation copying ironic/tests/unit/api/validation/__init__.py -> build/lib/ironic/tests/unit/api/validation creating build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/utils.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_target.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_connector.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_trait.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_portgroup.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_port.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_objects.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_notification.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_node_inventory.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_node_history.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_node.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_firmware.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_fields.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_deployment.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_deploy_template.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_conductor.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_chassis.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_bios.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_allocation.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/__init__.py -> build/lib/ironic/tests/unit/objects creating build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_firmware.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_types.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_conductor.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/console/__init__.py -> build/lib/ironic/tests/unit/console creating build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_dnsmasq.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/api/utils.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_root.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_proxy_middleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_ospmiddleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_middleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_method.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_hooks.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_healthcheck.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_functions.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_audit.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_acl.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/base.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/__init__.py -> build/lib/ironic/tests/unit/api creating build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity creating build/lib/ironic/api/validation copying ironic/api/validation/validators.py -> build/lib/ironic/api/validation copying ironic/api/validation/__init__.py -> build/lib/ironic/api/validation creating build/lib/ironic/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/auth_public_routes.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware copying ironic/api/wsgi.py -> build/lib/ironic/api copying ironic/api/method.py -> build/lib/ironic/api copying ironic/api/hooks.py -> build/lib/ironic/api copying ironic/api/functions.py -> build/lib/ironic/api copying ironic/api/config.py -> build/lib/ironic/api copying ironic/api/app.py -> build/lib/ironic/api copying ironic/api/__init__.py -> build/lib/ironic/api copying ironic/common/wsgi_service.py -> build/lib/ironic/common copying ironic/common/vnc.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/states.py -> build/lib/ironic/common copying ironic/common/service.py -> build/lib/ironic/common copying ironic/common/rpc_service.py -> build/lib/ironic/common copying ironic/common/rpc.py -> build/lib/ironic/common copying ironic/common/release_mappings.py -> build/lib/ironic/common copying ironic/common/raid.py -> build/lib/ironic/common copying ironic/common/qemu_img.py -> build/lib/ironic/common copying ironic/common/pxe_utils.py -> build/lib/ironic/common copying ironic/common/profiler.py -> build/lib/ironic/common copying ironic/common/policy.py -> build/lib/ironic/common copying ironic/common/oci_registry.py -> build/lib/ironic/common copying ironic/common/nova.py -> build/lib/ironic/common copying ironic/common/neutron.py -> build/lib/ironic/common copying ironic/common/network.py -> build/lib/ironic/common copying ironic/common/molds.py -> build/lib/ironic/common copying ironic/common/metrics_utils.py -> build/lib/ironic/common copying ironic/common/metrics_statsd.py -> build/lib/ironic/common copying ironic/common/metrics_collector.py -> build/lib/ironic/common copying ironic/common/metrics.py -> build/lib/ironic/common copying ironic/common/mdns.py -> build/lib/ironic/common copying ironic/common/lessee_sources.py -> build/lib/ironic/common copying ironic/common/kickstart_utils.py -> build/lib/ironic/common copying ironic/common/keystone.py -> build/lib/ironic/common copying ironic/common/indicator_states.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common copying ironic/common/image_publisher.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/hash_ring.py -> build/lib/ironic/common copying ironic/common/fsm.py -> build/lib/ironic/common copying ironic/common/faults.py -> build/lib/ironic/common copying ironic/common/exception.py -> build/lib/ironic/common copying ironic/common/driver_factory.py -> build/lib/ironic/common copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/console_factory.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/components.py -> build/lib/ironic/common copying ironic/common/cinder.py -> build/lib/ironic/common copying ironic/common/checksum_utils.py -> build/lib/ironic/common copying ironic/common/boot_modes.py -> build/lib/ironic/common copying ironic/common/boot_devices.py -> build/lib/ironic/common copying ironic/common/auth_basic.py -> build/lib/ironic/common copying ironic/common/async_steps.py -> build/lib/ironic/common copying ironic/common/args.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common creating build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/external.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage creating build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/utils.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_targets.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_connectors.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_shard.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_runbooks.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_ports.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_portgroups.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_nodes.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_traits.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_tags.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_inventory.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_history.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_firmware_component.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_deploy_templates.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_conductor.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_chassis.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_bios_settings.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_api.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_allocations.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/base.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/__init__.py -> build/lib/ironic/tests/unit/db copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers creating build/lib/ironic/dhcp copying ironic/dhcp/none.py -> build/lib/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp copying ironic/dhcp/dnsmasq.py -> build/lib/ironic/dhcp copying ironic/dhcp/base.py -> build/lib/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp creating build/lib/ironic/pxe_filter copying ironic/pxe_filter/service.py -> build/lib/ironic/pxe_filter copying ironic/pxe_filter/dnsmasq.py -> build/lib/ironic/pxe_filter copying ironic/pxe_filter/__init__.py -> build/lib/ironic/pxe_filter copying ironic/version.py -> build/lib/ironic copying ironic/__init__.py -> build/lib/ironic creating build/lib/ironic/tests/unit/console/securityproxy copying ironic/tests/unit/console/securityproxy/test_websocketproxy.py -> build/lib/ironic/tests/unit/console/securityproxy copying ironic/tests/unit/console/securityproxy/test_rfb.py -> build/lib/ironic/tests/unit/console/securityproxy copying ironic/tests/unit/console/securityproxy/__init__.py -> build/lib/ironic/tests/unit/console/securityproxy creating build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_validate_interfaces.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_root_device.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_ramdisk_error.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_raid_device.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_ports.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_physical_network.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_pci_devices.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_parse_lldp.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_memory.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_extra_hardware.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_cpu_capabilities.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_boot_mode.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_architecture.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/test_accelerators.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks copying ironic/tests/unit/drivers/modules/inspector/hooks/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/inspector/hooks creating build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_models.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy creating build/lib/ironic/drivers/modules/inspector copying ironic/drivers/modules/inspector/lldp_tlvs.py -> build/lib/ironic/drivers/modules/inspector copying ironic/drivers/modules/inspector/lldp_parsers.py -> build/lib/ironic/drivers/modules/inspector copying ironic/drivers/modules/inspector/interface.py -> build/lib/ironic/drivers/modules/inspector copying ironic/drivers/modules/inspector/client.py -> build/lib/ironic/drivers/modules/inspector copying ironic/drivers/modules/inspector/agent.py -> build/lib/ironic/drivers/modules/inspector copying ironic/drivers/modules/inspector/__init__.py -> build/lib/ironic/drivers/modules/inspector creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional creating build/lib/ironic/tests/unit/command copying ironic/tests/unit/command/test_status.py -> build/lib/ironic/tests/unit/command copying ironic/tests/unit/command/test_dbsync.py -> build/lib/ironic/tests/unit/command copying ironic/tests/unit/command/test_conductor.py -> build/lib/ironic/tests/unit/command copying ironic/tests/unit/command/__init__.py -> build/lib/ironic/tests/unit/command copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/command copying ironic/command/status.py -> build/lib/ironic/command copying ironic/command/singleprocess.py -> build/lib/ironic/command copying ironic/command/pxe_filter.py -> build/lib/ironic/command copying ironic/command/novncproxy.py -> build/lib/ironic/command copying ironic/command/dbsync.py -> build/lib/ironic/command copying ironic/command/conductor.py -> build/lib/ironic/command copying ironic/command/api.py -> build/lib/ironic/command copying ironic/command/__init__.py -> build/lib/ironic/command creating build/lib/ironic/conf copying ironic/conf/vnc.py -> build/lib/ironic/conf copying ironic/conf/types.py -> build/lib/ironic/conf copying ironic/conf/swift.py -> build/lib/ironic/conf copying ironic/conf/snmp.py -> build/lib/ironic/conf copying ironic/conf/service_catalog.py -> build/lib/ironic/conf copying ironic/conf/sensor_data.py -> build/lib/ironic/conf copying ironic/conf/redfish.py -> build/lib/ironic/conf copying ironic/conf/pxe.py -> build/lib/ironic/conf copying ironic/conf/opts.py -> build/lib/ironic/conf copying ironic/conf/oci.py -> build/lib/ironic/conf copying ironic/conf/nova.py -> build/lib/ironic/conf copying ironic/conf/neutron.py -> build/lib/ironic/conf copying ironic/conf/molds.py -> build/lib/ironic/conf copying ironic/conf/metrics.py -> build/lib/ironic/conf copying ironic/conf/mdns.py -> build/lib/ironic/conf copying ironic/conf/json_rpc.py -> build/lib/ironic/conf copying ironic/conf/irmc.py -> build/lib/ironic/conf copying ironic/conf/ipmi.py -> build/lib/ironic/conf copying ironic/conf/inventory.py -> build/lib/ironic/conf copying ironic/conf/inspector.py -> build/lib/ironic/conf copying ironic/conf/ilo.py -> build/lib/ironic/conf copying ironic/conf/healthcheck.py -> build/lib/ironic/conf copying ironic/conf/glance.py -> build/lib/ironic/conf copying ironic/conf/fake.py -> build/lib/ironic/conf copying ironic/conf/exception.py -> build/lib/ironic/conf copying ironic/conf/drac.py -> build/lib/ironic/conf copying ironic/conf/dnsmasq.py -> build/lib/ironic/conf copying ironic/conf/disk_utils.py -> build/lib/ironic/conf copying ironic/conf/dhcp.py -> build/lib/ironic/conf copying ironic/conf/deploy.py -> build/lib/ironic/conf copying ironic/conf/default.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/cinder.py -> build/lib/ironic/conf copying ironic/conf/auth.py -> build/lib/ironic/conf copying ironic/conf/audit.py -> build/lib/ironic/conf copying ironic/conf/api.py -> build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/anaconda.py -> build/lib/ironic/conf copying ironic/conf/agent_containers.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf copying ironic/conf/__init__.py -> build/lib/ironic/conf creating build/lib/ironic/db copying ironic/db/migration.py -> build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db copying ironic/db/__init__.py -> build/lib/ironic/db creating build/lib/ironic/drivers/modules/intel_ipmi copying ironic/drivers/modules/intel_ipmi/management.py -> build/lib/ironic/drivers/modules/intel_ipmi copying ironic/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/drivers/modules/intel_ipmi creating build/lib/ironic/console/rfb copying ironic/console/rfb/auths.py -> build/lib/ironic/console/rfb copying ironic/console/rfb/authnone.py -> build/lib/ironic/console/rfb copying ironic/console/rfb/auth.py -> build/lib/ironic/console/rfb copying ironic/console/rfb/__init__.py -> build/lib/ironic/console/rfb creating build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/vendor.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/raid.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/inspect.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/graphical_console.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/firmware_utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/firmware.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/boot.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/bios.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish copying ironic/console/websocketproxy.py -> build/lib/ironic/console copying ironic/console/novncproxy_service.py -> build/lib/ironic/console copying ironic/console/__init__.py -> build/lib/ironic/console creating build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/models.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/migration.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/__init__.py -> build/lib/ironic/db/sqlalchemy copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_pxe.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipxe.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_cache.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_graphical_console.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_console_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_power.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_client.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_base.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo creating build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible creating build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc creating build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/vendor.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/raid.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/power.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/management.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/inspect.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/common.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/boot.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/bios.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/__init__.py -> build/lib/ironic/drivers/modules/irmc copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_utils.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_snmp.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_redfish.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_irmc.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ilo.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_generic.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_fake_hardware.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_drac.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_base.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/__init__.py -> build/lib/ironic/tests/unit/drivers creating build/lib/ironic/conductor copying ironic/conductor/verify.py -> build/lib/ironic/conductor copying ironic/conductor/utils.py -> build/lib/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor copying ironic/conductor/steps.py -> build/lib/ironic/conductor copying ironic/conductor/servicing.py -> build/lib/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor copying ironic/conductor/rpc_service.py -> build/lib/ironic/conductor copying ironic/conductor/periodics.py -> build/lib/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor copying ironic/conductor/manager.py -> build/lib/ironic/conductor copying ironic/conductor/inspection.py -> build/lib/ironic/conductor copying ironic/conductor/deployments.py -> build/lib/ironic/conductor copying ironic/conductor/cleaning.py -> build/lib/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor copying ironic/conductor/allocations.py -> build/lib/ironic/conductor copying ironic/conductor/__init__.py -> build/lib/ironic/conductor creating build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/utils.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/raid.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/management.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/inspect.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/boot.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/bios.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/__init__.py -> build/lib/ironic/drivers/modules/drac copying ironic/tests/base.py -> build/lib/ironic/tests copying ironic/tests/__init__.py -> build/lib/ironic/tests creating build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/validate_interfaces.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/root_device.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/ramdisk_error.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/raid_device.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/ports.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/physical_network.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/pci_devices.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/parse_lldp.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/memory.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/local_link_connection.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/extra_hardware.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/cpu_capabilities.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/boot_mode.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/base.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/architecture.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/accelerators.py -> build/lib/ironic/drivers/modules/inspector/hooks copying ironic/drivers/modules/inspector/hooks/__init__.py -> build/lib/ironic/drivers/modules/inspector/hooks creating build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc creating build/lib/ironic/wsgi copying ironic/wsgi/__init__.py -> build/lib/ironic/wsgi copying ironic/tests/unit/test_base.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit creating build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/vendor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/raid.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/power.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/management.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/inspect.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/console.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/common.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/boot.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/bios.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.py -> build/lib/ironic/drivers/modules/ilo creating build/lib/ironic/common/inspection_rules copying ironic/common/inspection_rules/validation.py -> build/lib/ironic/common/inspection_rules copying ironic/common/inspection_rules/utils.py -> build/lib/ironic/common/inspection_rules copying ironic/common/inspection_rules/operators.py -> build/lib/ironic/common/inspection_rules copying ironic/common/inspection_rules/engine.py -> build/lib/ironic/common/inspection_rules copying ironic/common/inspection_rules/base.py -> build/lib/ironic/common/inspection_rules copying ironic/common/inspection_rules/actions.py -> build/lib/ironic/common/inspection_rules copying ironic/common/inspection_rules/__init__.py -> build/lib/ironic/common/inspection_rules running egg_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt writing requirements to ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt writing pbr to ironic.egg-info/pbr.json [pbr] Processing SOURCES.txt [pbr] In git context, generating filelist from git warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' adding license file 'AUTHORS' writing manifest file 'ironic.egg-info/SOURCES.txt' /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.api.schemas.v1' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.api.schemas.v1' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.api.schemas.v1' 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.api.schemas.v1' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.db.sqlalchemy.alembic' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.db.sqlalchemy.alembic' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.db.sqlalchemy.alembic' 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.db.sqlalchemy.alembic' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.db.sqlalchemy.alembic.versions' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.db.sqlalchemy.alembic.versions' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.db.sqlalchemy.alembic.versions' 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.db.sqlalchemy.alembic.versions' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks' 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.drivers.modules.ansible.playbooks' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.callback_plugins' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.callback_plugins' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.callback_plugins' 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.drivers.modules.ansible.playbooks.callback_plugins' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.library' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.library' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.library' 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.drivers.modules.ansible.playbooks.library' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.clean.defaults' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.clean.defaults' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.clean.defaults' 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.drivers.modules.ansible.playbooks.roles.clean.defaults' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.clean.tasks' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.clean.tasks' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.clean.tasks' 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.drivers.modules.ansible.playbooks.roles.clean.tasks' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.configure.defaults' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.configure.defaults' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.configure.defaults' 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.drivers.modules.ansible.playbooks.roles.configure.defaults' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.configure.tasks' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.configure.tasks' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.configure.tasks' 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.drivers.modules.ansible.playbooks.roles.configure.tasks' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.deploy.files' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.deploy.files' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.deploy.files' 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.drivers.modules.ansible.playbooks.roles.deploy.files' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.deploy.tasks' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.deploy.tasks' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.deploy.tasks' 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.drivers.modules.ansible.playbooks.roles.deploy.tasks' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.discover.tasks' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.discover.tasks' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.discover.tasks' 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.drivers.modules.ansible.playbooks.roles.discover.tasks' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.prepare.tasks' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.prepare.tasks' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.prepare.tasks' 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.drivers.modules.ansible.playbooks.roles.prepare.tasks' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.drivers.modules.ansible.playbooks.roles.shutdown.tasks' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.drivers.modules.ansible.playbooks.roles.shutdown.tasks' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.drivers.modules.ansible.playbooks.roles.shutdown.tasks' 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.drivers.modules.ansible.playbooks.roles.shutdown.tasks' 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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.tests.json_samples' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.tests.json_samples' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.tests.json_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.tests.json_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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.tests.unit.common.drive_samples' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.tests.unit.common.drive_samples' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.tests.unit.common.drive_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.tests.unit.common.drive_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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.tests.unit.common.json_samples' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.tests.unit.common.json_samples' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.tests.unit.common.json_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.tests.unit.common.json_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) /usr/lib/python3.9/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning: Installing 'ironic.tests.unit.drivers.modules.network.json_samples' as data is deprecated, please list it in `packages`. !! ############################ # Package would be ignored # ############################ Python recognizes 'ironic.tests.unit.drivers.modules.network.json_samples' as an importable package, but it is not listed in the `packages` configuration of setuptools. 'ironic.tests.unit.drivers.modules.network.json_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.tests.unit.drivers.modules.network.json_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) copying ironic/drivers/raid_config_schema.json -> build/lib/ironic/drivers creating build/lib/ironic/tests/unit/common/drive_samples copying ironic/tests/unit/common/drive_samples/config_drive -> build/lib/ironic/tests/unit/common/drive_samples creating build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/console/container/ironic-console.container.template -> build/lib/ironic/console/container creating build/lib/ironic/tests/unit/drivers/modules/network/json_samples copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> build/lib/ironic/tests/unit/drivers/modules/network/json_samples copying ironic/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/initial_grub_cfg.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules copying ironic/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 creating build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/inventory -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks creating build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins creating build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library creating build/lib/ironic/drivers/modules/ansible/playbooks/roles creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files copying ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/tests/unit/api/test_acl_basic.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_legacy.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> build/lib/ironic/tests/unit/api creating build/lib/ironic/api/schemas creating build/lib/ironic/api/schemas/v1 copying ironic/api/schemas/v1/shard.py -> build/lib/ironic/api/schemas/v1 copying ironic/common/grub_conf.template -> build/lib/ironic/common copying ironic/common/isolinux_config.template -> build/lib/ironic/common copying ironic/db/sqlalchemy/alembic.ini -> build/lib/ironic/db/sqlalchemy creating build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/README -> build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/env.py -> build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib/ironic/db/sqlalchemy/alembic creating build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/01f21d5e5195_increase_length_of_user_column.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/0ac0f39bc5aa_add_node_inventory_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/163040c5513f_add_firmware_information.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1c14278d6e33_port_description.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/21c48150dea9_add_inspection_rules.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/4dbec778866e_create_node_shard.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/66bd9c5604d5_add_runbook_and_runbook_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/6e9cf6acce0b_node_disable_power_off.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/aa2384fee727_add_service_steps.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/d163df1bab88_remove_extra_fk_constraint_in_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/fe222f476baf_add_parent_node_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/boot-fallback.ipxe -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/boot.ipxe -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/json_samples copying ironic/tests/json_samples/network_data.json -> build/lib/ironic/tests/json_samples copying ironic/tests/json_samples/systems_collection_dual.json -> build/lib/ironic/tests/json_samples copying ironic/tests/json_samples/systems_collection_single.json -> build/lib/ironic/tests/json_samples copying ironic/drivers/modules/inspector/hooks/known_accelerators.yaml -> build/lib/ironic/drivers/modules/inspector/hooks installing to build/bdist.linux-x86_64/wheel running install [pbr] Writing ChangeLog [pbr] Generating ChangeLog [pbr] ChangeLog complete (0.0s) [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/ironic creating build/bdist.linux-x86_64/wheel/ironic/wsgi copying build/lib/ironic/wsgi/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/wsgi creating build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/allocations.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/cleaning.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/deployments.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/inspection.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/manager.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/periodics.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/rpc_service.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/servicing.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/steps.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/utils.py -> build/bdist.linux-x86_64/wheel/ironic/conductor copying build/lib/ironic/conductor/verify.py -> build/bdist.linux-x86_64/wheel/ironic/conductor creating build/bdist.linux-x86_64/wheel/ironic/db creating build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy creating build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic creating build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/fe222f476baf_add_parent_node_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/d163df1bab88_remove_extra_fk_constraint_in_.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/aa2384fee727_add_service_steps.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/6e9cf6acce0b_node_disable_power_off.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/66bd9c5604d5_add_runbook_and_runbook_step.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/4dbec778866e_create_node_shard.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/21c48150dea9_add_inspection_rules.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1c14278d6e33_port_description.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/163040c5513f_add_firmware_information.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/0ac0f39bc5aa_add_node_inventory_table.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/01f21d5e5195_increase_length_of_user_column.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/env.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/README -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic.ini -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/api.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/migration.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/models.py -> build/bdist.linux-x86_64/wheel/ironic/db/sqlalchemy copying build/lib/ironic/db/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/db copying build/lib/ironic/db/api.py -> build/bdist.linux-x86_64/wheel/ironic/db copying build/lib/ironic/db/migration.py -> build/bdist.linux-x86_64/wheel/ironic/db creating build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/agent.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/agent_containers.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/anaconda.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/ansible.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/api.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/audit.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/auth.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/cinder.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/conductor.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/console.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/database.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/default.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/deploy.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/dhcp.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/disk_utils.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/drac.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/exception.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/fake.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/glance.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/healthcheck.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/ilo.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/inspector.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/inventory.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/irmc.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/json_rpc.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/mdns.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/metrics.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/molds.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/neutron.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/nova.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/oci.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/opts.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/pxe.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/redfish.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/sensor_data.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/snmp.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/swift.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/types.py -> build/bdist.linux-x86_64/wheel/ironic/conf copying build/lib/ironic/conf/vnc.py -> build/bdist.linux-x86_64/wheel/ironic/conf creating build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/command/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/command/api.py -> build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/command/conductor.py -> build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/command/dbsync.py -> build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/command/novncproxy.py -> build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/command/pxe_filter.py -> build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/command/singleprocess.py -> build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/command/status.py -> build/bdist.linux-x86_64/wheel/ironic/command copying build/lib/ironic/__init__.py -> build/bdist.linux-x86_64/wheel/ironic copying build/lib/ironic/version.py -> build/bdist.linux-x86_64/wheel/ironic creating build/bdist.linux-x86_64/wheel/ironic/pxe_filter copying build/lib/ironic/pxe_filter/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/pxe_filter copying build/lib/ironic/pxe_filter/dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/pxe_filter copying build/lib/ironic/pxe_filter/service.py -> build/bdist.linux-x86_64/wheel/ironic/pxe_filter creating build/bdist.linux-x86_64/wheel/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp copying build/lib/ironic/dhcp/dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> build/bdist.linux-x86_64/wheel/ironic/dhcp creating build/bdist.linux-x86_64/wheel/ironic/hacking copying build/lib/ironic/hacking/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/hacking copying build/lib/ironic/hacking/checks.py -> build/bdist.linux-x86_64/wheel/ironic/hacking creating build/bdist.linux-x86_64/wheel/ironic/api creating build/bdist.linux-x86_64/wheel/ironic/api/schemas creating build/bdist.linux-x86_64/wheel/ironic/api/schemas/v1 copying build/lib/ironic/api/schemas/v1/shard.py -> build/bdist.linux-x86_64/wheel/ironic/api/schemas/v1 copying build/lib/ironic/api/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api copying build/lib/ironic/api/app.py -> build/bdist.linux-x86_64/wheel/ironic/api copying build/lib/ironic/api/config.py -> build/bdist.linux-x86_64/wheel/ironic/api copying build/lib/ironic/api/functions.py -> build/bdist.linux-x86_64/wheel/ironic/api copying build/lib/ironic/api/hooks.py -> build/bdist.linux-x86_64/wheel/ironic/api copying build/lib/ironic/api/method.py -> build/bdist.linux-x86_64/wheel/ironic/api copying build/lib/ironic/api/wsgi.py -> build/bdist.linux-x86_64/wheel/ironic/api creating build/bdist.linux-x86_64/wheel/ironic/api/middleware copying build/lib/ironic/api/middleware/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api/middleware copying build/lib/ironic/api/middleware/auth_public_routes.py -> build/bdist.linux-x86_64/wheel/ironic/api/middleware copying build/lib/ironic/api/middleware/json_ext.py -> build/bdist.linux-x86_64/wheel/ironic/api/middleware copying build/lib/ironic/api/middleware/parsable_error.py -> build/bdist.linux-x86_64/wheel/ironic/api/middleware creating build/bdist.linux-x86_64/wheel/ironic/api/validation copying build/lib/ironic/api/validation/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api/validation copying build/lib/ironic/api/validation/validators.py -> build/bdist.linux-x86_64/wheel/ironic/api/validation creating build/bdist.linux-x86_64/wheel/ironic/api/controllers copying build/lib/ironic/api/controllers/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers copying build/lib/ironic/api/controllers/base.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers copying build/lib/ironic/api/controllers/link.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers copying build/lib/ironic/api/controllers/root.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers copying build/lib/ironic/api/controllers/version.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers creating build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/network-data-schema.json -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/allocation.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/bios.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/chassis.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/collection.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/conductor.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/deploy_template.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/driver.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/event.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/firmware.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/inspection_rule.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/node.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/notification_utils.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/port.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/portgroup.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/ramdisk.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/runbook.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/shard.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/utils.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/versions.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume_connector.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume_target.py -> build/bdist.linux-x86_64/wheel/ironic/api/controllers/v1 creating build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/isolinux_config.template -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/grub_conf.template -> build/bdist.linux-x86_64/wheel/ironic/common creating build/bdist.linux-x86_64/wheel/ironic/common/inspection_rules copying build/lib/ironic/common/inspection_rules/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/common/inspection_rules copying build/lib/ironic/common/inspection_rules/actions.py -> build/bdist.linux-x86_64/wheel/ironic/common/inspection_rules copying build/lib/ironic/common/inspection_rules/base.py -> build/bdist.linux-x86_64/wheel/ironic/common/inspection_rules copying build/lib/ironic/common/inspection_rules/engine.py -> build/bdist.linux-x86_64/wheel/ironic/common/inspection_rules copying build/lib/ironic/common/inspection_rules/operators.py -> build/bdist.linux-x86_64/wheel/ironic/common/inspection_rules copying build/lib/ironic/common/inspection_rules/utils.py -> build/bdist.linux-x86_64/wheel/ironic/common/inspection_rules copying build/lib/ironic/common/inspection_rules/validation.py -> build/bdist.linux-x86_64/wheel/ironic/common/inspection_rules copying build/lib/ironic/common/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/args.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/async_steps.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/auth_basic.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/boot_devices.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/boot_modes.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/checksum_utils.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/cinder.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/components.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/config.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/console_factory.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/context.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/driver_factory.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/exception.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/faults.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/fsm.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/hash_ring.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/i18n.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/image_publisher.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/image_service.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/images.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/indicator_states.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/keystone.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/kickstart_utils.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/lessee_sources.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/mdns.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/metrics.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/metrics_collector.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/metrics_statsd.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/metrics_utils.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/molds.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/network.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/neutron.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/nova.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/oci_registry.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/policy.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/profiler.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/pxe_utils.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/qemu_img.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/raid.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/release_mappings.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/rpc.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/rpc_service.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/service.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/states.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/swift.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/utils.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/vnc.py -> build/bdist.linux-x86_64/wheel/ironic/common copying build/lib/ironic/common/wsgi_service.py -> build/bdist.linux-x86_64/wheel/ironic/common creating build/bdist.linux-x86_64/wheel/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/client.py -> build/bdist.linux-x86_64/wheel/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/server.py -> build/bdist.linux-x86_64/wheel/ironic/common/json_rpc creating build/bdist.linux-x86_64/wheel/ironic/common/glance_service copying build/lib/ironic/common/glance_service/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/common/glance_service copying build/lib/ironic/common/glance_service/image_service.py -> build/bdist.linux-x86_64/wheel/ironic/common/glance_service copying build/lib/ironic/common/glance_service/service_utils.py -> build/bdist.linux-x86_64/wheel/ironic/common/glance_service creating build/bdist.linux-x86_64/wheel/ironic/console copying build/lib/ironic/console/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/console copying build/lib/ironic/console/novncproxy_service.py -> build/bdist.linux-x86_64/wheel/ironic/console copying build/lib/ironic/console/websocketproxy.py -> build/bdist.linux-x86_64/wheel/ironic/console creating build/bdist.linux-x86_64/wheel/ironic/console/rfb copying build/lib/ironic/console/rfb/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/console/rfb copying build/lib/ironic/console/rfb/auth.py -> build/bdist.linux-x86_64/wheel/ironic/console/rfb copying build/lib/ironic/console/rfb/authnone.py -> build/bdist.linux-x86_64/wheel/ironic/console/rfb copying build/lib/ironic/console/rfb/auths.py -> build/bdist.linux-x86_64/wheel/ironic/console/rfb creating build/bdist.linux-x86_64/wheel/ironic/console/securityproxy copying build/lib/ironic/console/securityproxy/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/console/securityproxy copying build/lib/ironic/console/securityproxy/base.py -> build/bdist.linux-x86_64/wheel/ironic/console/securityproxy copying build/lib/ironic/console/securityproxy/rfb.py -> build/bdist.linux-x86_64/wheel/ironic/console/securityproxy creating build/bdist.linux-x86_64/wheel/ironic/console/container copying build/lib/ironic/console/container/ironic-console.container.template -> build/bdist.linux-x86_64/wheel/ironic/console/container copying build/lib/ironic/console/container/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/console/container copying build/lib/ironic/console/container/base.py -> build/bdist.linux-x86_64/wheel/ironic/console/container copying build/lib/ironic/console/container/fake.py -> build/bdist.linux-x86_64/wheel/ironic/console/container copying build/lib/ironic/console/container/systemd.py -> build/bdist.linux-x86_64/wheel/ironic/console/container creating build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/allocation.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/base.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/bios.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/chassis.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/conductor.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/deploy_template.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/deployment.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/fields.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/firmware.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/indirection.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/inspection_rule.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/node.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/node_history.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/node_inventory.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/notification.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/port.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/portgroup.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/runbook.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/trait.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> build/bdist.linux-x86_64/wheel/ironic/objects copying build/lib/ironic/objects/volume_target.py -> build/bdist.linux-x86_64/wheel/ironic/objects creating build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/raid_config_schema.json -> build/bdist.linux-x86_64/wheel/ironic/drivers creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_config.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ks.cfg.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe_config.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/initial_grub_cfg.template -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot.ipxe -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/bios.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/boot.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/common.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/console.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/firmware_processor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/inspect.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/vendor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ilo creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/bios.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/boot.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/inspect.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/vendor_passthru.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/drac creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/bios.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/boot.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/common.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/inspect.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/vendor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/irmc creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/bios.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/boot.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/firmware.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/firmware_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/graphical_console.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/inspect.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/raid.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/vendor.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/redfish creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/intel_ipmi copying build/lib/ironic/drivers/modules/intel_ipmi/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/intel_ipmi copying build/lib/ironic/drivers/modules/intel_ipmi/management.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/intel_ipmi creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/known_accelerators.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/accelerators.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/architecture.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/base.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/boot_mode.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/cpu_capabilities.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/extra_hardware.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/local_link_connection.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/memory.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/parse_lldp.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/pci_devices.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/physical_network.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/ports.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/raid_device.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/ramdisk_error.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/root_device.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/hooks/validate_interfaces.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector/hooks copying build/lib/ironic/drivers/modules/inspector/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector copying build/lib/ironic/drivers/modules/inspector/agent.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector copying build/lib/ironic/drivers/modules/inspector/client.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector copying build/lib/ironic/drivers/modules/inspector/interface.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector copying build/lib/ironic/drivers/modules/inspector/lldp_parsers.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector copying build/lib/ironic/drivers/modules/inspector/lldp_tlvs.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/inspector creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/cinder.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/external.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/noop.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/storage creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/prepare creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/discover creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/files copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/library creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/inventory -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible copying build/lib/ironic/drivers/modules/ansible/deploy.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/ansible copying build/lib/ironic/drivers/modules/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_base.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_client.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_power.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot_mode_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/console_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/deploy_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/fake.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/graphical_console.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/image_cache.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/image_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/inspect_utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipmitool.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop_mgmt.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_base.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ramdisk.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules copying build/lib/ironic/drivers/modules/snmp.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules creating build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/common.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/flat.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/neutron.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/noop.py -> build/bdist.linux-x86_64/wheel/ironic/drivers/modules/network copying build/lib/ironic/drivers/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/base.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/drac.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/generic.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/intel_ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> build/bdist.linux-x86_64/wheel/ironic/drivers copying build/lib/ironic/drivers/utils.py -> build/bdist.linux-x86_64/wheel/ironic/drivers creating build/bdist.linux-x86_64/wheel/ironic/tests creating build/bdist.linux-x86_64/wheel/ironic/tests/json_samples copying build/lib/ironic/tests/json_samples/systems_collection_single.json -> build/bdist.linux-x86_64/wheel/ironic/tests/json_samples copying build/lib/ironic/tests/json_samples/systems_collection_dual.json -> build/bdist.linux-x86_64/wheel/ironic/tests/json_samples copying build/lib/ironic/tests/json_samples/network_data.json -> build/bdist.linux-x86_64/wheel/ironic/tests/json_samples copying build/lib/ironic/tests/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests copying build/lib/ironic/tests/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests creating build/bdist.linux-x86_64/wheel/ironic/tests/functional copying build/lib/ironic/tests/functional/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/functional creating build/bdist.linux-x86_64/wheel/ironic/tests/unit copying build/lib/ironic/tests/unit/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit copying build/lib/ironic/tests/unit/policy_fixture.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit copying build/lib/ironic/tests/unit/raid_constants.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit copying build/lib/ironic/tests/unit/stubs.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit copying build/lib/ironic/tests/unit/test_base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/command copying build/lib/ironic/tests/unit/command/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/command copying build/lib/ironic/tests/unit/command/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/command copying build/lib/ironic/tests/unit/command/test_dbsync.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/command copying build/lib/ironic/tests/unit/command/test_status.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/command creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/db creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_api.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_models.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_types.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_allocations.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_api.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_bios_settings.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_chassis.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_deploy_templates.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_firmware_component.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_history.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_inventory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_tags.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_traits.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_nodes.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_portgroups.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_ports.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_runbooks.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_shard.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_volume_connectors.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_volume_targets.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/db creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_factory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_neutron.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/dhcp creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/test_auth.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/test_types.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conf creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_allocation.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_chassis.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_deploy_template.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_deployment.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_fields.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_firmware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_node.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_node_history.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_node_inventory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_notification.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_objects.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_port.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_portgroup.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_trait.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_volume_connector.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_volume_target.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/objects creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_rbac_system_scoped.yaml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_rbac_project_scoped.yaml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_rbac_legacy.yaml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_acl_basic.yaml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_acl.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_audit.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_functions.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_healthcheck.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_hooks.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_method.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_middleware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_ospmiddleware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_proxy_middleware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_root.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/validation copying build/lib/ironic/tests/unit/api/validation/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/validation copying build/lib/ironic/tests/unit/api/validation/test_validators.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/validation creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_allocation.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_collection.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_conductor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_driver.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_event.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_inspection_rule.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_node.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_port.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_portgroup.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_root.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_runbook.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_shard.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_versions.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/api/controllers/v1 creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/common creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/json_samples creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/drive_samples copying build/lib/ironic/tests/unit/common/drive_samples/config_drive -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common/drive_samples copying build/lib/ironic/tests/unit/common/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_args.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_checksum_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_cinder.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_context.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_driver_factory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_exception.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_fsm.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_glance_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_hash_ring.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_image_publisher.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_image_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_images.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_inspection_rule.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_json_rpc.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_keystone.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_kickstart_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_mdns.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_molds.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_network.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_neutron.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_nova.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_oci_registry.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_policy.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_pxe_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_qemu_img.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_release_mappings.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_rpc.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_states.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_swift.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_vnc.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_wsgi_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/common creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/pxe_grub_config.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/pxe_config.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config.template -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/boot.ipxe -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/boot-fallback.ipxe -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_drac.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_fake_hardware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_generic.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ilo.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_irmc.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_redfish.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_snmp.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ibmc creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/irmc creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ansible copying build/lib/ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ansible copying build/lib/ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ansible creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_client.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_console_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_graphical_console.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_image_cache.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_image_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_inspect_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ipxe.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_noop.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_pxe.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ramdisk.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_snmp.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/xclarity creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_firmware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/redfish creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_boot.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/drac creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_accelerators.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_architecture.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_boot_mode.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_cpu_capabilities.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_extra_hardware.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_memory.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_parse_lldp.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_pci_devices.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_physical_network.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_ports.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_raid_device.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_ramdisk_error.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_root_device.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/hooks/test_validate_interfaces.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector/hooks copying build/lib/ironic/tests/unit/drivers/modules/inspector/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector copying build/lib/ironic/tests/unit/drivers/modules/inspector/test_agent.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector copying build/lib/ironic/tests/unit/drivers/modules/inspector/test_client.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector copying build/lib/ironic/tests/unit/drivers/modules/inspector/test_interface.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/inspector creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/test_external.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/storage creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network/json_samples copying build/lib/ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network/json_samples copying build/lib/ironic/tests/unit/drivers/modules/network/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_common.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_flat.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_noop.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/network creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/drivers/modules/intel_ipmi creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/mgr_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_allocations.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_base_manager.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_cleaning.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_deployments.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_inspection.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_manager.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_notification_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_periodics.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_rpc_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_rpcapi.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_servicing.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_steps.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_task_manager.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_utils.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_verify.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/conductor creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/console creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/securityproxy copying build/lib/ironic/tests/unit/console/securityproxy/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/securityproxy copying build/lib/ironic/tests/unit/console/securityproxy/test_rfb.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/securityproxy copying build/lib/ironic/tests/unit/console/securityproxy/test_websocketproxy.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/securityproxy copying build/lib/ironic/tests/unit/console/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/container copying build/lib/ironic/tests/unit/console/container/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/container copying build/lib/ironic/tests/unit/console/container/test_console_container.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/container creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/rfb copying build/lib/ironic/tests/unit/console/rfb/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/rfb copying build/lib/ironic/tests/unit/console/rfb/test_auth.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/rfb copying build/lib/ironic/tests/unit/console/rfb/test_authnone.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/console/rfb creating build/bdist.linux-x86_64/wheel/ironic/tests/unit/pxe_filter copying build/lib/ironic/tests/unit/pxe_filter/__init__.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/pxe_filter copying build/lib/ironic/tests/unit/pxe_filter/test_dnsmasq.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/pxe_filter copying build/lib/ironic/tests/unit/pxe_filter/test_service.py -> build/bdist.linux-x86_64/wheel/ironic/tests/unit/pxe_filter running install_data creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/etc creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/etc/ironic copying etc/ironic/rootwrap.conf -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/etc/ironic creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-utils.filters -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/etc/ironic/rootwrap.d/ creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container copying tools/vnc-container/README.rst -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/ copying tools/vnc-container/Containerfile -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/ creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/bin copying tools/vnc-container/bin/start-xvfb.sh -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/bin copying tools/vnc-container/bin/start-selenium-browser.py -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/bin copying tools/vnc-container/bin/start-browser-x11vnc.sh -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/bin creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/drivers creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/drivers/fake copying tools/vnc-container/drivers/fake/ironic_mascot_color.png -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/drivers/fake copying tools/vnc-container/drivers/fake/index.html -> build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/drivers/fake running install_egg_info Copying ironic.egg-info to build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118-py3.9.egg-info running install_scripts Installing ironic-api-wsgi script to build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.data/scripts adding license file "LICENSE" (matched pattern "LICEN[CS]E*") adding license file "AUTHORS" (matched pattern "AUTHORS*") creating build/bdist.linux-x86_64/wheel/ironic-29.1.0.dev118.dist-info/WHEEL creating '/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir/pip-wheel-a63a2yoo/tmpo7anoxk1/ironic-29.1.0.dev118-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'ironic/__init__.py' adding 'ironic/version.py' adding 'ironic/api/__init__.py' adding 'ironic/api/app.py' adding 'ironic/api/config.py' adding 'ironic/api/functions.py' adding 'ironic/api/hooks.py' adding 'ironic/api/method.py' adding 'ironic/api/wsgi.py' adding 'ironic/api/controllers/__init__.py' adding 'ironic/api/controllers/base.py' adding 'ironic/api/controllers/link.py' adding 'ironic/api/controllers/root.py' adding 'ironic/api/controllers/version.py' adding 'ironic/api/controllers/v1/__init__.py' adding 'ironic/api/controllers/v1/allocation.py' adding 'ironic/api/controllers/v1/bios.py' adding 'ironic/api/controllers/v1/chassis.py' adding 'ironic/api/controllers/v1/collection.py' adding 'ironic/api/controllers/v1/conductor.py' adding 'ironic/api/controllers/v1/deploy_template.py' adding 'ironic/api/controllers/v1/driver.py' adding 'ironic/api/controllers/v1/event.py' adding 'ironic/api/controllers/v1/firmware.py' adding 'ironic/api/controllers/v1/inspection_rule.py' adding 'ironic/api/controllers/v1/network-data-schema.json' adding 'ironic/api/controllers/v1/node.py' adding 'ironic/api/controllers/v1/notification_utils.py' adding 'ironic/api/controllers/v1/port.py' adding 'ironic/api/controllers/v1/portgroup.py' adding 'ironic/api/controllers/v1/ramdisk.py' adding 'ironic/api/controllers/v1/runbook.py' adding 'ironic/api/controllers/v1/shard.py' adding 'ironic/api/controllers/v1/utils.py' adding 'ironic/api/controllers/v1/versions.py' adding 'ironic/api/controllers/v1/volume.py' adding 'ironic/api/controllers/v1/volume_connector.py' adding 'ironic/api/controllers/v1/volume_target.py' adding 'ironic/api/middleware/__init__.py' adding 'ironic/api/middleware/auth_public_routes.py' adding 'ironic/api/middleware/json_ext.py' adding 'ironic/api/middleware/parsable_error.py' adding 'ironic/api/schemas/v1/shard.py' adding 'ironic/api/validation/__init__.py' adding 'ironic/api/validation/validators.py' adding 'ironic/command/__init__.py' adding 'ironic/command/api.py' adding 'ironic/command/conductor.py' adding 'ironic/command/dbsync.py' adding 'ironic/command/novncproxy.py' adding 'ironic/command/pxe_filter.py' adding 'ironic/command/singleprocess.py' adding 'ironic/command/status.py' adding 'ironic/common/__init__.py' adding 'ironic/common/args.py' adding 'ironic/common/async_steps.py' adding 'ironic/common/auth_basic.py' adding 'ironic/common/boot_devices.py' adding 'ironic/common/boot_modes.py' adding 'ironic/common/checksum_utils.py' adding 'ironic/common/cinder.py' adding 'ironic/common/components.py' adding 'ironic/common/config.py' adding 'ironic/common/console_factory.py' adding 'ironic/common/context.py' adding 'ironic/common/dhcp_factory.py' adding 'ironic/common/driver_factory.py' adding 'ironic/common/exception.py' adding 'ironic/common/faults.py' adding 'ironic/common/fsm.py' adding 'ironic/common/grub_conf.template' adding 'ironic/common/hash_ring.py' adding 'ironic/common/i18n.py' adding 'ironic/common/image_publisher.py' adding 'ironic/common/image_service.py' adding 'ironic/common/images.py' adding 'ironic/common/indicator_states.py' adding 'ironic/common/isolinux_config.template' adding 'ironic/common/keystone.py' adding 'ironic/common/kickstart_utils.py' adding 'ironic/common/lessee_sources.py' adding 'ironic/common/mdns.py' adding 'ironic/common/metrics.py' adding 'ironic/common/metrics_collector.py' adding 'ironic/common/metrics_statsd.py' adding 'ironic/common/metrics_utils.py' adding 'ironic/common/molds.py' adding 'ironic/common/network.py' adding 'ironic/common/neutron.py' adding 'ironic/common/nova.py' adding 'ironic/common/oci_registry.py' adding 'ironic/common/policy.py' adding 'ironic/common/profiler.py' adding 'ironic/common/pxe_utils.py' adding 'ironic/common/qemu_img.py' adding 'ironic/common/raid.py' adding 'ironic/common/release_mappings.py' adding 'ironic/common/rpc.py' adding 'ironic/common/rpc_service.py' adding 'ironic/common/service.py' adding 'ironic/common/states.py' adding 'ironic/common/swift.py' adding 'ironic/common/utils.py' adding 'ironic/common/vnc.py' adding 'ironic/common/wsgi_service.py' adding 'ironic/common/glance_service/__init__.py' adding 'ironic/common/glance_service/image_service.py' adding 'ironic/common/glance_service/service_utils.py' adding 'ironic/common/inspection_rules/__init__.py' adding 'ironic/common/inspection_rules/actions.py' adding 'ironic/common/inspection_rules/base.py' adding 'ironic/common/inspection_rules/engine.py' adding 'ironic/common/inspection_rules/operators.py' adding 'ironic/common/inspection_rules/utils.py' adding 'ironic/common/inspection_rules/validation.py' adding 'ironic/common/json_rpc/__init__.py' adding 'ironic/common/json_rpc/client.py' adding 'ironic/common/json_rpc/server.py' adding 'ironic/conductor/__init__.py' adding 'ironic/conductor/allocations.py' adding 'ironic/conductor/base_manager.py' adding 'ironic/conductor/cleaning.py' adding 'ironic/conductor/deployments.py' adding 'ironic/conductor/inspection.py' adding 'ironic/conductor/manager.py' adding 'ironic/conductor/notification_utils.py' adding 'ironic/conductor/periodics.py' adding 'ironic/conductor/rpc_service.py' adding 'ironic/conductor/rpcapi.py' adding 'ironic/conductor/servicing.py' adding 'ironic/conductor/steps.py' adding 'ironic/conductor/task_manager.py' adding 'ironic/conductor/utils.py' adding 'ironic/conductor/verify.py' adding 'ironic/conf/__init__.py' adding 'ironic/conf/agent.py' adding 'ironic/conf/agent_containers.py' adding 'ironic/conf/anaconda.py' adding 'ironic/conf/ansible.py' adding 'ironic/conf/api.py' adding 'ironic/conf/audit.py' adding 'ironic/conf/auth.py' adding 'ironic/conf/cinder.py' adding 'ironic/conf/conductor.py' adding 'ironic/conf/console.py' adding 'ironic/conf/database.py' adding 'ironic/conf/default.py' adding 'ironic/conf/deploy.py' adding 'ironic/conf/dhcp.py' adding 'ironic/conf/disk_utils.py' adding 'ironic/conf/dnsmasq.py' adding 'ironic/conf/drac.py' adding 'ironic/conf/exception.py' adding 'ironic/conf/fake.py' adding 'ironic/conf/glance.py' adding 'ironic/conf/healthcheck.py' adding 'ironic/conf/ilo.py' adding 'ironic/conf/inspector.py' adding 'ironic/conf/inventory.py' adding 'ironic/conf/ipmi.py' adding 'ironic/conf/irmc.py' adding 'ironic/conf/json_rpc.py' adding 'ironic/conf/mdns.py' adding 'ironic/conf/metrics.py' adding 'ironic/conf/molds.py' adding 'ironic/conf/neutron.py' adding 'ironic/conf/nova.py' adding 'ironic/conf/oci.py' adding 'ironic/conf/opts.py' adding 'ironic/conf/pxe.py' adding 'ironic/conf/redfish.py' adding 'ironic/conf/sensor_data.py' adding 'ironic/conf/service_catalog.py' adding 'ironic/conf/snmp.py' adding 'ironic/conf/swift.py' adding 'ironic/conf/types.py' adding 'ironic/conf/vnc.py' adding 'ironic/console/__init__.py' adding 'ironic/console/novncproxy_service.py' adding 'ironic/console/websocketproxy.py' adding 'ironic/console/container/__init__.py' adding 'ironic/console/container/base.py' adding 'ironic/console/container/fake.py' adding 'ironic/console/container/ironic-console.container.template' adding 'ironic/console/container/systemd.py' adding 'ironic/console/rfb/__init__.py' adding 'ironic/console/rfb/auth.py' adding 'ironic/console/rfb/authnone.py' adding 'ironic/console/rfb/auths.py' adding 'ironic/console/securityproxy/__init__.py' adding 'ironic/console/securityproxy/base.py' adding 'ironic/console/securityproxy/rfb.py' adding 'ironic/db/__init__.py' adding 'ironic/db/api.py' adding 'ironic/db/migration.py' adding 'ironic/db/sqlalchemy/__init__.py' adding 'ironic/db/sqlalchemy/alembic.ini' adding 'ironic/db/sqlalchemy/api.py' adding 'ironic/db/sqlalchemy/migration.py' adding 'ironic/db/sqlalchemy/models.py' adding 'ironic/db/sqlalchemy/alembic/README' adding 'ironic/db/sqlalchemy/alembic/env.py' adding 'ironic/db/sqlalchemy/alembic/script.py.mako' adding 'ironic/db/sqlalchemy/alembic/versions/01f21d5e5195_increase_length_of_user_column.py' adding 'ironic/db/sqlalchemy/alembic/versions/0ac0f39bc5aa_add_node_inventory_table.py' adding 'ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py' adding 'ironic/db/sqlalchemy/alembic/versions/163040c5513f_add_firmware_information.py' adding 'ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py' adding 'ironic/db/sqlalchemy/alembic/versions/1c14278d6e33_port_description.py' adding 'ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py' adding 'ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py' adding 'ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py' adding 'ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py' adding 'ironic/db/sqlalchemy/alembic/versions/21c48150dea9_add_inspection_rules.py' adding 'ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py' adding 'ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py' adding 'ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py' adding 'ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py' adding 'ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py' adding 'ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py' adding 'ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py' adding 'ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py' adding 'ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py' adding 'ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py' adding 'ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py' adding 'ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py' adding 'ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py' adding 'ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py' adding 'ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py' adding 'ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py' adding 'ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py' adding 'ironic/db/sqlalchemy/alembic/versions/4dbec778866e_create_node_shard.py' adding 'ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py' adding 'ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py' adding 'ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py' adding 'ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py' adding 'ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py' adding 'ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py' adding 'ironic/db/sqlalchemy/alembic/versions/66bd9c5604d5_add_runbook_and_runbook_step.py' adding 'ironic/db/sqlalchemy/alembic/versions/6e9cf6acce0b_node_disable_power_off.py' adding 'ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py' adding 'ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py' adding 'ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py' adding 'ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py' adding 'ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py' adding 'ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py' adding 'ironic/db/sqlalchemy/alembic/versions/aa2384fee727_add_service_steps.py' adding 'ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py' adding 'ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py' adding 'ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py' adding 'ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py' adding 'ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py' adding 'ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py' adding 'ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py' adding 'ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py' adding 'ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py' adding 'ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py' adding 'ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py' adding 'ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py' adding 'ironic/db/sqlalchemy/alembic/versions/d163df1bab88_remove_extra_fk_constraint_in_.py' adding 'ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py' adding 'ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py' adding 'ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py' adding 'ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py' adding 'ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py' adding 'ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py' adding 'ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py' adding 'ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py' adding 'ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py' adding 'ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py' adding 'ironic/db/sqlalchemy/alembic/versions/fe222f476baf_add_parent_node_field.py' adding 'ironic/dhcp/__init__.py' adding 'ironic/dhcp/base.py' adding 'ironic/dhcp/dnsmasq.py' adding 'ironic/dhcp/neutron.py' adding 'ironic/dhcp/none.py' adding 'ironic/drivers/__init__.py' adding 'ironic/drivers/base.py' adding 'ironic/drivers/drac.py' adding 'ironic/drivers/fake_hardware.py' adding 'ironic/drivers/generic.py' adding 'ironic/drivers/hardware_type.py' adding 'ironic/drivers/ilo.py' adding 'ironic/drivers/intel_ipmi.py' adding 'ironic/drivers/ipmi.py' adding 'ironic/drivers/irmc.py' adding 'ironic/drivers/raid_config_schema.json' adding 'ironic/drivers/redfish.py' adding 'ironic/drivers/snmp.py' adding 'ironic/drivers/utils.py' adding 'ironic/drivers/modules/__init__.py' adding 'ironic/drivers/modules/agent.py' adding 'ironic/drivers/modules/agent_base.py' adding 'ironic/drivers/modules/agent_client.py' adding 'ironic/drivers/modules/agent_power.py' adding 'ironic/drivers/modules/boot.ipxe' adding 'ironic/drivers/modules/boot_mode_utils.py' adding 'ironic/drivers/modules/console_utils.py' adding 'ironic/drivers/modules/deploy_utils.py' adding 'ironic/drivers/modules/fake.py' adding 'ironic/drivers/modules/graphical_console.py' adding 'ironic/drivers/modules/image_cache.py' adding 'ironic/drivers/modules/image_utils.py' adding 'ironic/drivers/modules/initial_grub_cfg.template' adding 'ironic/drivers/modules/inspect_utils.py' adding 'ironic/drivers/modules/ipmitool.py' adding 'ironic/drivers/modules/ipxe.py' adding 'ironic/drivers/modules/ipxe_config.template' adding 'ironic/drivers/modules/ks.cfg.template' adding 'ironic/drivers/modules/noop.py' adding 'ironic/drivers/modules/noop_mgmt.py' adding 'ironic/drivers/modules/pxe.py' adding 'ironic/drivers/modules/pxe_base.py' adding 'ironic/drivers/modules/pxe_config.template' adding 'ironic/drivers/modules/pxe_grub_config.template' adding 'ironic/drivers/modules/ramdisk.py' adding 'ironic/drivers/modules/snmp.py' adding 'ironic/drivers/modules/ansible/__init__.py' adding 'ironic/drivers/modules/ansible/deploy.py' adding 'ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml' adding 'ironic/drivers/modules/ansible/playbooks/ansible.cfg' adding 'ironic/drivers/modules/ansible/playbooks/clean.yaml' adding 'ironic/drivers/modules/ansible/playbooks/clean_steps.yaml' adding 'ironic/drivers/modules/ansible/playbooks/deploy.yaml' adding 'ironic/drivers/modules/ansible/playbooks/inventory' adding 'ironic/drivers/modules/ansible/playbooks/shutdown.yaml' adding 'ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini' adding 'ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py' adding 'ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py' adding 'ironic/drivers/modules/ansible/playbooks/library/root_hints.py' adding 'ironic/drivers/modules/ansible/playbooks/library/stream_url.py' adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh' adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml' adding 'ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml' adding 'ironic/drivers/modules/drac/__init__.py' adding 'ironic/drivers/modules/drac/bios.py' adding 'ironic/drivers/modules/drac/boot.py' adding 'ironic/drivers/modules/drac/inspect.py' adding 'ironic/drivers/modules/drac/management.py' adding 'ironic/drivers/modules/drac/power.py' adding 'ironic/drivers/modules/drac/raid.py' adding 'ironic/drivers/modules/drac/utils.py' adding 'ironic/drivers/modules/drac/vendor_passthru.py' adding 'ironic/drivers/modules/ilo/__init__.py' adding 'ironic/drivers/modules/ilo/bios.py' adding 'ironic/drivers/modules/ilo/boot.py' adding 'ironic/drivers/modules/ilo/common.py' adding 'ironic/drivers/modules/ilo/console.py' adding 'ironic/drivers/modules/ilo/firmware_processor.py' adding 'ironic/drivers/modules/ilo/inspect.py' adding 'ironic/drivers/modules/ilo/management.py' adding 'ironic/drivers/modules/ilo/power.py' adding 'ironic/drivers/modules/ilo/raid.py' adding 'ironic/drivers/modules/ilo/vendor.py' adding 'ironic/drivers/modules/inspector/__init__.py' adding 'ironic/drivers/modules/inspector/agent.py' adding 'ironic/drivers/modules/inspector/client.py' adding 'ironic/drivers/modules/inspector/interface.py' adding 'ironic/drivers/modules/inspector/lldp_parsers.py' adding 'ironic/drivers/modules/inspector/lldp_tlvs.py' adding 'ironic/drivers/modules/inspector/hooks/__init__.py' adding 'ironic/drivers/modules/inspector/hooks/accelerators.py' adding 'ironic/drivers/modules/inspector/hooks/architecture.py' adding 'ironic/drivers/modules/inspector/hooks/base.py' adding 'ironic/drivers/modules/inspector/hooks/boot_mode.py' adding 'ironic/drivers/modules/inspector/hooks/cpu_capabilities.py' adding 'ironic/drivers/modules/inspector/hooks/extra_hardware.py' adding 'ironic/drivers/modules/inspector/hooks/known_accelerators.yaml' adding 'ironic/drivers/modules/inspector/hooks/local_link_connection.py' adding 'ironic/drivers/modules/inspector/hooks/memory.py' adding 'ironic/drivers/modules/inspector/hooks/parse_lldp.py' adding 'ironic/drivers/modules/inspector/hooks/pci_devices.py' adding 'ironic/drivers/modules/inspector/hooks/physical_network.py' adding 'ironic/drivers/modules/inspector/hooks/ports.py' adding 'ironic/drivers/modules/inspector/hooks/raid_device.py' adding 'ironic/drivers/modules/inspector/hooks/ramdisk_error.py' adding 'ironic/drivers/modules/inspector/hooks/root_device.py' adding 'ironic/drivers/modules/inspector/hooks/validate_interfaces.py' adding 'ironic/drivers/modules/intel_ipmi/__init__.py' adding 'ironic/drivers/modules/intel_ipmi/management.py' adding 'ironic/drivers/modules/irmc/__init__.py' adding 'ironic/drivers/modules/irmc/bios.py' adding 'ironic/drivers/modules/irmc/boot.py' adding 'ironic/drivers/modules/irmc/common.py' adding 'ironic/drivers/modules/irmc/inspect.py' adding 'ironic/drivers/modules/irmc/management.py' adding 'ironic/drivers/modules/irmc/power.py' adding 'ironic/drivers/modules/irmc/raid.py' adding 'ironic/drivers/modules/irmc/vendor.py' adding 'ironic/drivers/modules/network/__init__.py' adding 'ironic/drivers/modules/network/common.py' adding 'ironic/drivers/modules/network/flat.py' adding 'ironic/drivers/modules/network/neutron.py' adding 'ironic/drivers/modules/network/noop.py' adding 'ironic/drivers/modules/redfish/__init__.py' adding 'ironic/drivers/modules/redfish/bios.py' adding 'ironic/drivers/modules/redfish/boot.py' adding 'ironic/drivers/modules/redfish/firmware.py' adding 'ironic/drivers/modules/redfish/firmware_utils.py' adding 'ironic/drivers/modules/redfish/graphical_console.py' adding 'ironic/drivers/modules/redfish/inspect.py' adding 'ironic/drivers/modules/redfish/management.py' adding 'ironic/drivers/modules/redfish/power.py' adding 'ironic/drivers/modules/redfish/raid.py' adding 'ironic/drivers/modules/redfish/utils.py' adding 'ironic/drivers/modules/redfish/vendor.py' adding 'ironic/drivers/modules/storage/__init__.py' adding 'ironic/drivers/modules/storage/cinder.py' adding 'ironic/drivers/modules/storage/external.py' adding 'ironic/drivers/modules/storage/noop.py' adding 'ironic/hacking/__init__.py' adding 'ironic/hacking/checks.py' adding 'ironic/objects/__init__.py' adding 'ironic/objects/allocation.py' adding 'ironic/objects/base.py' adding 'ironic/objects/bios.py' adding 'ironic/objects/chassis.py' adding 'ironic/objects/conductor.py' adding 'ironic/objects/deploy_template.py' adding 'ironic/objects/deployment.py' adding 'ironic/objects/fields.py' adding 'ironic/objects/firmware.py' adding 'ironic/objects/indirection.py' adding 'ironic/objects/inspection_rule.py' adding 'ironic/objects/node.py' adding 'ironic/objects/node_history.py' adding 'ironic/objects/node_inventory.py' adding 'ironic/objects/notification.py' adding 'ironic/objects/port.py' adding 'ironic/objects/portgroup.py' adding 'ironic/objects/runbook.py' adding 'ironic/objects/trait.py' adding 'ironic/objects/volume_connector.py' adding 'ironic/objects/volume_target.py' adding 'ironic/pxe_filter/__init__.py' adding 'ironic/pxe_filter/dnsmasq.py' adding 'ironic/pxe_filter/service.py' adding 'ironic/tests/__init__.py' adding 'ironic/tests/base.py' adding 'ironic/tests/functional/__init__.py' adding 'ironic/tests/json_samples/network_data.json' adding 'ironic/tests/json_samples/systems_collection_dual.json' adding 'ironic/tests/json_samples/systems_collection_single.json' adding 'ironic/tests/unit/__init__.py' adding 'ironic/tests/unit/policy_fixture.py' adding 'ironic/tests/unit/raid_constants.py' adding 'ironic/tests/unit/stubs.py' adding 'ironic/tests/unit/test_base.py' adding 'ironic/tests/unit/api/__init__.py' adding 'ironic/tests/unit/api/base.py' adding 'ironic/tests/unit/api/test_acl.py' adding 'ironic/tests/unit/api/test_acl_basic.yaml' adding 'ironic/tests/unit/api/test_audit.py' adding 'ironic/tests/unit/api/test_functions.py' adding 'ironic/tests/unit/api/test_healthcheck.py' adding 'ironic/tests/unit/api/test_hooks.py' adding 'ironic/tests/unit/api/test_method.py' adding 'ironic/tests/unit/api/test_middleware.py' adding 'ironic/tests/unit/api/test_ospmiddleware.py' adding 'ironic/tests/unit/api/test_proxy_middleware.py' adding 'ironic/tests/unit/api/test_rbac_legacy.yaml' adding 'ironic/tests/unit/api/test_rbac_project_scoped.yaml' adding 'ironic/tests/unit/api/test_rbac_system_scoped.yaml' adding 'ironic/tests/unit/api/test_root.py' adding 'ironic/tests/unit/api/utils.py' adding 'ironic/tests/unit/api/controllers/__init__.py' adding 'ironic/tests/unit/api/controllers/test_base.py' adding 'ironic/tests/unit/api/controllers/v1/__init__.py' adding 'ironic/tests/unit/api/controllers/v1/test_allocation.py' adding 'ironic/tests/unit/api/controllers/v1/test_chassis.py' adding 'ironic/tests/unit/api/controllers/v1/test_collection.py' adding 'ironic/tests/unit/api/controllers/v1/test_conductor.py' adding 'ironic/tests/unit/api/controllers/v1/test_deploy_template.py' adding 'ironic/tests/unit/api/controllers/v1/test_driver.py' adding 'ironic/tests/unit/api/controllers/v1/test_event.py' adding 'ironic/tests/unit/api/controllers/v1/test_inspection_rule.py' adding 'ironic/tests/unit/api/controllers/v1/test_node.py' adding 'ironic/tests/unit/api/controllers/v1/test_notification_utils.py' adding 'ironic/tests/unit/api/controllers/v1/test_port.py' adding 'ironic/tests/unit/api/controllers/v1/test_portgroup.py' adding 'ironic/tests/unit/api/controllers/v1/test_ramdisk.py' adding 'ironic/tests/unit/api/controllers/v1/test_root.py' adding 'ironic/tests/unit/api/controllers/v1/test_runbook.py' adding 'ironic/tests/unit/api/controllers/v1/test_shard.py' adding 'ironic/tests/unit/api/controllers/v1/test_utils.py' adding 'ironic/tests/unit/api/controllers/v1/test_versions.py' adding 'ironic/tests/unit/api/controllers/v1/test_volume.py' adding 'ironic/tests/unit/api/controllers/v1/test_volume_connector.py' adding 'ironic/tests/unit/api/controllers/v1/test_volume_target.py' adding 'ironic/tests/unit/api/validation/__init__.py' adding 'ironic/tests/unit/api/validation/test_validators.py' adding 'ironic/tests/unit/command/__init__.py' adding 'ironic/tests/unit/command/test_conductor.py' adding 'ironic/tests/unit/command/test_dbsync.py' adding 'ironic/tests/unit/command/test_status.py' adding 'ironic/tests/unit/common/__init__.py' adding 'ironic/tests/unit/common/test_args.py' adding 'ironic/tests/unit/common/test_checksum_utils.py' adding 'ironic/tests/unit/common/test_cinder.py' adding 'ironic/tests/unit/common/test_context.py' adding 'ironic/tests/unit/common/test_driver_factory.py' adding 'ironic/tests/unit/common/test_exception.py' adding 'ironic/tests/unit/common/test_fsm.py' adding 'ironic/tests/unit/common/test_glance_service.py' adding 'ironic/tests/unit/common/test_hash_ring.py' adding 'ironic/tests/unit/common/test_image_publisher.py' adding 'ironic/tests/unit/common/test_image_service.py' adding 'ironic/tests/unit/common/test_images.py' adding 'ironic/tests/unit/common/test_inspection_rule.py' adding 'ironic/tests/unit/common/test_json_rpc.py' adding 'ironic/tests/unit/common/test_keystone.py' adding 'ironic/tests/unit/common/test_kickstart_utils.py' adding 'ironic/tests/unit/common/test_mdns.py' adding 'ironic/tests/unit/common/test_molds.py' adding 'ironic/tests/unit/common/test_network.py' adding 'ironic/tests/unit/common/test_neutron.py' adding 'ironic/tests/unit/common/test_nova.py' adding 'ironic/tests/unit/common/test_oci_registry.py' adding 'ironic/tests/unit/common/test_policy.py' adding 'ironic/tests/unit/common/test_pxe_utils.py' adding 'ironic/tests/unit/common/test_qemu_img.py' adding 'ironic/tests/unit/common/test_raid.py' adding 'ironic/tests/unit/common/test_release_mappings.py' adding 'ironic/tests/unit/common/test_rpc.py' adding 'ironic/tests/unit/common/test_states.py' adding 'ironic/tests/unit/common/test_swift.py' adding 'ironic/tests/unit/common/test_utils.py' adding 'ironic/tests/unit/common/test_vnc.py' adding 'ironic/tests/unit/common/test_wsgi_service.py' adding 'ironic/tests/unit/common/drive_samples/config_drive' adding 'ironic/tests/unit/common/json_samples/neutron_network_show.json' adding 'ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json' adding 'ironic/tests/unit/common/json_samples/neutron_port_show.json' adding 'ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json' adding 'ironic/tests/unit/common/json_samples/neutron_subnet_show.json' adding 'ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json' adding 'ironic/tests/unit/conductor/__init__.py' adding 'ironic/tests/unit/conductor/mgr_utils.py' adding 'ironic/tests/unit/conductor/test_allocations.py' adding 'ironic/tests/unit/conductor/test_base_manager.py' adding 'ironic/tests/unit/conductor/test_cleaning.py' adding 'ironic/tests/unit/conductor/test_deployments.py' adding 'ironic/tests/unit/conductor/test_inspection.py' adding 'ironic/tests/unit/conductor/test_manager.py' adding 'ironic/tests/unit/conductor/test_notification_utils.py' adding 'ironic/tests/unit/conductor/test_periodics.py' adding 'ironic/tests/unit/conductor/test_rpc_service.py' adding 'ironic/tests/unit/conductor/test_rpcapi.py' adding 'ironic/tests/unit/conductor/test_servicing.py' adding 'ironic/tests/unit/conductor/test_steps.py' adding 'ironic/tests/unit/conductor/test_task_manager.py' adding 'ironic/tests/unit/conductor/test_utils.py' adding 'ironic/tests/unit/conductor/test_verify.py' adding 'ironic/tests/unit/conf/__init__.py' adding 'ironic/tests/unit/conf/test_auth.py' adding 'ironic/tests/unit/conf/test_conductor.py' adding 'ironic/tests/unit/conf/test_types.py' adding 'ironic/tests/unit/console/__init__.py' adding 'ironic/tests/unit/console/container/__init__.py' adding 'ironic/tests/unit/console/container/test_console_container.py' adding 'ironic/tests/unit/console/rfb/__init__.py' adding 'ironic/tests/unit/console/rfb/test_auth.py' adding 'ironic/tests/unit/console/rfb/test_authnone.py' adding 'ironic/tests/unit/console/securityproxy/__init__.py' adding 'ironic/tests/unit/console/securityproxy/test_rfb.py' adding 'ironic/tests/unit/console/securityproxy/test_websocketproxy.py' adding 'ironic/tests/unit/db/__init__.py' adding 'ironic/tests/unit/db/base.py' adding 'ironic/tests/unit/db/test_allocations.py' adding 'ironic/tests/unit/db/test_api.py' adding 'ironic/tests/unit/db/test_bios_settings.py' adding 'ironic/tests/unit/db/test_chassis.py' adding 'ironic/tests/unit/db/test_conductor.py' adding 'ironic/tests/unit/db/test_deploy_templates.py' adding 'ironic/tests/unit/db/test_firmware_component.py' adding 'ironic/tests/unit/db/test_node_history.py' adding 'ironic/tests/unit/db/test_node_inventory.py' adding 'ironic/tests/unit/db/test_node_tags.py' adding 'ironic/tests/unit/db/test_node_traits.py' adding 'ironic/tests/unit/db/test_nodes.py' adding 'ironic/tests/unit/db/test_portgroups.py' adding 'ironic/tests/unit/db/test_ports.py' adding 'ironic/tests/unit/db/test_runbooks.py' adding 'ironic/tests/unit/db/test_shard.py' adding 'ironic/tests/unit/db/test_volume_connectors.py' adding 'ironic/tests/unit/db/test_volume_targets.py' adding 'ironic/tests/unit/db/utils.py' adding 'ironic/tests/unit/db/sqlalchemy/__init__.py' adding 'ironic/tests/unit/db/sqlalchemy/test_api.py' adding 'ironic/tests/unit/db/sqlalchemy/test_migrations.py' adding 'ironic/tests/unit/db/sqlalchemy/test_models.py' adding 'ironic/tests/unit/db/sqlalchemy/test_types.py' adding 'ironic/tests/unit/dhcp/__init__.py' adding 'ironic/tests/unit/dhcp/test_dnsmasq.py' adding 'ironic/tests/unit/dhcp/test_factory.py' adding 'ironic/tests/unit/dhcp/test_neutron.py' adding 'ironic/tests/unit/drivers/__init__.py' adding 'ironic/tests/unit/drivers/boot-fallback.ipxe' adding 'ironic/tests/unit/drivers/boot.ipxe' adding 'ironic/tests/unit/drivers/ipxe_config.template' adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_anaconda.template' adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template' adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template' adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template' adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template' adding 'ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template' adding 'ironic/tests/unit/drivers/ipxe_config_timeout.template' adding 'ironic/tests/unit/drivers/ks_extra_vars.tmpl' adding 'ironic/tests/unit/drivers/ks_missing_var.tmpl' adding 'ironic/tests/unit/drivers/pxe_config.template' adding 'ironic/tests/unit/drivers/pxe_grub_config.template' adding 'ironic/tests/unit/drivers/test_base.py' adding 'ironic/tests/unit/drivers/test_drac.py' adding 'ironic/tests/unit/drivers/test_fake_hardware.py' adding 'ironic/tests/unit/drivers/test_generic.py' adding 'ironic/tests/unit/drivers/test_ilo.py' adding 'ironic/tests/unit/drivers/test_ipmi.py' adding 'ironic/tests/unit/drivers/test_irmc.py' adding 'ironic/tests/unit/drivers/test_redfish.py' adding 'ironic/tests/unit/drivers/test_snmp.py' adding 'ironic/tests/unit/drivers/test_utils.py' adding 'ironic/tests/unit/drivers/third_party_driver_mock_specs.py' adding 'ironic/tests/unit/drivers/third_party_driver_mocks.py' adding 'ironic/tests/unit/drivers/modules/__init__.py' adding 'ironic/tests/unit/drivers/modules/test_agent.py' adding 'ironic/tests/unit/drivers/modules/test_agent_base.py' adding 'ironic/tests/unit/drivers/modules/test_agent_client.py' adding 'ironic/tests/unit/drivers/modules/test_agent_power.py' adding 'ironic/tests/unit/drivers/modules/test_boot_mode_utils.py' adding 'ironic/tests/unit/drivers/modules/test_console_utils.py' adding 'ironic/tests/unit/drivers/modules/test_deploy_utils.py' adding 'ironic/tests/unit/drivers/modules/test_graphical_console.py' adding 'ironic/tests/unit/drivers/modules/test_image_cache.py' adding 'ironic/tests/unit/drivers/modules/test_image_utils.py' adding 'ironic/tests/unit/drivers/modules/test_inspect_utils.py' adding 'ironic/tests/unit/drivers/modules/test_ipmitool.py' adding 'ironic/tests/unit/drivers/modules/test_ipxe.py' adding 'ironic/tests/unit/drivers/modules/test_noop.py' adding 'ironic/tests/unit/drivers/modules/test_noop_mgmt.py' adding 'ironic/tests/unit/drivers/modules/test_pxe.py' adding 'ironic/tests/unit/drivers/modules/test_ramdisk.py' adding 'ironic/tests/unit/drivers/modules/test_snmp.py' adding 'ironic/tests/unit/drivers/modules/ansible/__init__.py' adding 'ironic/tests/unit/drivers/modules/ansible/test_deploy.py' adding 'ironic/tests/unit/drivers/modules/drac/__init__.py' adding 'ironic/tests/unit/drivers/modules/drac/test_boot.py' adding 'ironic/tests/unit/drivers/modules/drac/test_inspect.py' adding 'ironic/tests/unit/drivers/modules/drac/test_management.py' adding 'ironic/tests/unit/drivers/modules/drac/test_raid.py' adding 'ironic/tests/unit/drivers/modules/drac/test_utils.py' adding 'ironic/tests/unit/drivers/modules/drac/utils.py' adding 'ironic/tests/unit/drivers/modules/ibmc/__init__.py' adding 'ironic/tests/unit/drivers/modules/ilo/__init__.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_bios.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_boot.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_common.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_console.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_inspect.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_management.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_power.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_raid.py' adding 'ironic/tests/unit/drivers/modules/ilo/test_vendor.py' adding 'ironic/tests/unit/drivers/modules/inspector/__init__.py' adding 'ironic/tests/unit/drivers/modules/inspector/test_agent.py' adding 'ironic/tests/unit/drivers/modules/inspector/test_client.py' adding 'ironic/tests/unit/drivers/modules/inspector/test_interface.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/__init__.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_accelerators.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_architecture.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_boot_mode.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_cpu_capabilities.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_extra_hardware.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_local_link_connection.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_memory.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_parse_lldp.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_pci_devices.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_physical_network.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_ports.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_raid_device.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_ramdisk_error.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_root_device.py' adding 'ironic/tests/unit/drivers/modules/inspector/hooks/test_validate_interfaces.py' adding 'ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py' adding 'ironic/tests/unit/drivers/modules/intel_ipmi/base.py' adding 'ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py' adding 'ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py' adding 'ironic/tests/unit/drivers/modules/irmc/__init__.py' adding 'ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml' adding 'ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml' adding 'ironic/tests/unit/drivers/modules/irmc/test_bios.py' adding 'ironic/tests/unit/drivers/modules/irmc/test_boot.py' adding 'ironic/tests/unit/drivers/modules/irmc/test_common.py' adding 'ironic/tests/unit/drivers/modules/irmc/test_inspect.py' adding 'ironic/tests/unit/drivers/modules/irmc/test_management.py' adding 'ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py' adding 'ironic/tests/unit/drivers/modules/irmc/test_power.py' adding 'ironic/tests/unit/drivers/modules/irmc/test_raid.py' adding 'ironic/tests/unit/drivers/modules/network/__init__.py' adding 'ironic/tests/unit/drivers/modules/network/test_common.py' adding 'ironic/tests/unit/drivers/modules/network/test_flat.py' adding 'ironic/tests/unit/drivers/modules/network/test_neutron.py' adding 'ironic/tests/unit/drivers/modules/network/test_noop.py' adding 'ironic/tests/unit/drivers/modules/network/json_samples/network_data.json' adding 'ironic/tests/unit/drivers/modules/redfish/__init__.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_bios.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_boot.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_firmware.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_inspect.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_management.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_power.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_raid.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_utils.py' adding 'ironic/tests/unit/drivers/modules/redfish/test_vendor.py' adding 'ironic/tests/unit/drivers/modules/storage/__init__.py' adding 'ironic/tests/unit/drivers/modules/storage/test_cinder.py' adding 'ironic/tests/unit/drivers/modules/storage/test_external.py' adding 'ironic/tests/unit/drivers/modules/xclarity/__init__.py' adding 'ironic/tests/unit/objects/__init__.py' adding 'ironic/tests/unit/objects/test_allocation.py' adding 'ironic/tests/unit/objects/test_bios.py' adding 'ironic/tests/unit/objects/test_chassis.py' adding 'ironic/tests/unit/objects/test_conductor.py' adding 'ironic/tests/unit/objects/test_deploy_template.py' adding 'ironic/tests/unit/objects/test_deployment.py' adding 'ironic/tests/unit/objects/test_fields.py' adding 'ironic/tests/unit/objects/test_firmware.py' adding 'ironic/tests/unit/objects/test_node.py' adding 'ironic/tests/unit/objects/test_node_history.py' adding 'ironic/tests/unit/objects/test_node_inventory.py' adding 'ironic/tests/unit/objects/test_notification.py' adding 'ironic/tests/unit/objects/test_objects.py' adding 'ironic/tests/unit/objects/test_port.py' adding 'ironic/tests/unit/objects/test_portgroup.py' adding 'ironic/tests/unit/objects/test_trait.py' adding 'ironic/tests/unit/objects/test_volume_connector.py' adding 'ironic/tests/unit/objects/test_volume_target.py' adding 'ironic/tests/unit/objects/utils.py' adding 'ironic/tests/unit/pxe_filter/__init__.py' adding 'ironic/tests/unit/pxe_filter/test_dnsmasq.py' adding 'ironic/tests/unit/pxe_filter/test_service.py' adding 'ironic/wsgi/__init__.py' adding 'ironic-29.1.0.dev118.data/data/etc/ironic/rootwrap.conf' adding 'ironic-29.1.0.dev118.data/data/etc/ironic/rootwrap.d/ironic-utils.filters' adding 'ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/Containerfile' adding 'ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/README.rst' adding 'ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/bin/start-browser-x11vnc.sh' adding 'ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/bin/start-selenium-browser.py' adding 'ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/bin/start-xvfb.sh' adding 'ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/drivers/fake/index.html' adding 'ironic-29.1.0.dev118.data/data/share/ironic/vnc-container/drivers/fake/ironic_mascot_color.png' adding 'ironic-29.1.0.dev118.data/scripts/ironic-api-wsgi' adding 'ironic-29.1.0.dev118.dist-info/AUTHORS' adding 'ironic-29.1.0.dev118.dist-info/LICENSE' adding 'ironic-29.1.0.dev118.dist-info/METADATA' adding 'ironic-29.1.0.dev118.dist-info/WHEEL' adding 'ironic-29.1.0.dev118.dist-info/entry_points.txt' adding 'ironic-29.1.0.dev118.dist-info/pbr.json' adding 'ironic-29.1.0.dev118.dist-info/top_level.txt' adding 'ironic-29.1.0.dev118.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Building wheel for ironic (pyproject.toml): finished with status 'done' Created wheel for ironic: filename=ironic-29.1.0.dev118-py3-none-any.whl size=2263257 sha256=a3d20a778093a457dcc65462f3cca523a1fd765fe702a5f1d60d81afb212549b Stored in directory: /builddir/.cache/pip/wheels/0e/a5/2f/7053bd0ce258449c60285f6964a9c087d0f253628a9ec691c1 Successfully built ironic + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.YMLIdC + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 ++ dirname /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 + cd ironic-29.1.0.dev118 ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' ++ xargs basename --multiple ++ ls /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir/ironic-29.1.0.dev118-py3-none-any.whl + specifier=ironic==29.1.0.dev118 + '[' -z ironic==29.1.0.dev118 ']' + TMPDIR=/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir ironic==29.1.0.dev118 Using pip 21.3.1 from /usr/lib/python3.9/site-packages/pip (python 3.9) Looking in links: /builddir/build/BUILD/ironic-29.1.0.dev118/pyproject-wheeldir Processing ./pyproject-wheeldir/ironic-29.1.0.dev118-py3-none-any.whl Installing collected packages: ironic changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic to 755 changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-api to 755 changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-conductor to 755 changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-dbsync to 755 changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-novncproxy to 755 changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-pxe-filter to 755 changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-rootwrap to 755 changing mode of /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-status to 755 Successfully installed ironic-29.1.0.dev118 + '[' -d /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin ']' + '[' -z s ']' + shebang_flags=-kas + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kas /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-api /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-api-wsgi /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-conductor /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-dbsync /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-novncproxy /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-pxe-filter /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-rootwrap /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-status /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic: updating /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-api: updating /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-api-wsgi: updating /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-conductor: updating /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-dbsync: updating /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-novncproxy: updating /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-pxe-filter: updating /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-rootwrap: updating /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/ironic-status: updating + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages ']' + site_dirs+=("/usr/lib/python3.9/site-packages") + '[' /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib64/python3.9/site-packages '!=' /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages ']' + '[' -d /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib64/python3.9/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.9/site-packages/ironic-29.1.0.dev118.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev118.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 --record /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev118.dist-info/RECORD --output /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-record + rm -fv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev118.dist-info/RECORD removed '/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev118.dist-info/RECORD' + rm -fv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev118.dist-info/REQUESTED removed '/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages/ironic-29.1.0.dev118.dist-info/REQUESTED' ++ cut -f1 '-d ' ++ wc -l /builddir/build/BUILD/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64-pyproject-ghost-distinfo + lines=1 + '[' 1 -ne 1 ']' + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-dnsmasq-tftp-server.service /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic.service /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-pxe-filter.service /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-novncproxy.service /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-sudoers /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/etc/ironic/rootwrap.d + export PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64//usr/lib/python3.9/site-packages + PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64//usr/lib/python3.9/site-packages + oslo-config-generator --config-file tools/config/ironic-config-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64//etc/ironic/ironic.conf + oslopolicy-sample-generator --config-file tools/policy/ironic-policy-generator.conf + mv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64//usr/share/ironic/ironic-dist.conf + install -p -D -m 644 /builddir/build/SOURCES/dnsmasq-tftp-server.conf /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64//etc/ironic/dnsmasq-tftp-server.conf + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 29.1.0-0.20250522180210.f1c8d03.el9 --unique-debug-suffix -29.1.0-0.20250522180210.f1c8d03.el9.x86_64 --unique-debug-src-base openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 --remove-section .gnu.build.attributes -S debugsourcefiles.list /builddir/build/BUILD/ironic-29.1.0.dev118 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 Bytecompiling .py files below /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9 using python3.9 + /usr/lib/rpm/brp-python-hardlink + /usr/lib/rpm/redhat/brp-mangle-shebangs mangling shebang in /usr/share/ironic/vnc-container/bin/start-xvfb.sh from /bin/bash to #!/usr/bin/bash mangling shebang in /usr/share/ironic/vnc-container/bin/start-selenium-browser.py from /usr/bin/env python3 to #!/usr/bin/python3 mangling shebang in /usr/share/ironic/vnc-container/bin/start-browser-x11vnc.sh from /bin/bash to #!/usr/bin/bash mangling shebang in /usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh from /bin/sh to #!/usr/bin/sh Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.XSItBp + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + TOX_TESTENV_PASSENV='*' + 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/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + PATH=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib64/python3.9/site-packages:/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/ironic-29.1.0.dev118/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=4 + HOSTNAME=rpmbuild + /usr/bin/python3 -m tox --current-env -q --recreate -e py39 /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) 2025-05-22 14:05:45.364 1775560 INFO oslo_service.backend [-] Loading backend: eventlet 2025-05-22 14:05:45.371 1775576 INFO oslo_service.backend [-] Loading backend: eventlet 2025-05-22 14:05:45.375 1775560 INFO oslo_service.backend [-] Backend 'eventlet' successfully loaded and cached. 2025-05-22 14:05:45.387 1775576 INFO oslo_service.backend [-] Backend 'eventlet' successfully loaded and cached. 2025-05-22 14:05:45.398 1775580 INFO oslo_service.backend [-] Loading backend: eventlet 2025-05-22 14:05:45.416 1775580 INFO oslo_service.backend [-] Backend 'eventlet' successfully loaded and cached. 2025-05-22 14:05:45.637 1775563 INFO oslo_service.backend [-] Loading backend: eventlet 2025-05-22 14:05:45.657 1775563 INFO oslo_service.backend [-] Backend 'eventlet' successfully loaded and cached. {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [1.082041s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/4e886b38-594f-4cba-bb2c-b8d9f0bba99c GOT Response: 204 No Content Openstack-Request-Id: req-d83617bb-2c61-4cd8-a040-9efa7bd7cf78 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1c14278d6e33 {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.748156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/alloc1 GOT Response: 204 No Content Openstack-Request-Id: req-75467690-2911-4229-abe4-45fe7142f1d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.156533s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/blah GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0749cea5-e606-40d2-966c-ff4aaf894eb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.183875s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/alloc1.json GOT Response: 204 No Content Openstack-Request-Id: req-c69be6b0-789c-43f1-87ca-09ce544b3c26 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json_not_found [0.112806s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/alloc1.json GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2f6e729f-de2e-4b6c-858b-93345b5fd0da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation alloc1.json could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.116773s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT Response: 204 No Content Openstack-Request-Id: req-4abc7409-180d-4e1b-beb2-6c0e47e1cddc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.126661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.151377s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/bb0f03c7-a7f9-4892-9f75-9e29989e6887/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3f05b426-becc-485c-8549-38c2275b589b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node bb0f03c7-a7f9-4892-9f75-9e29989e6887 was not found\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.095753s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/6df29049-8a62-4345-b51b-d899322c52fb GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.115208s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/ba!na!na1 GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.111267s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/f8ef47bd-01b6-4506-8b9f-0a513f1a8c82/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6934e3a4-7642-4fa6-ac8c-ff78909393e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node f8ef47bd-01b6-4506-8b9f-0a513f1a8c82 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.190631s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/61f1697c-b53f-46dd-826d-db433e1d9416 GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c36328f7-877b-44fe-974e-16181920835d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.245744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content Openstack-Request-Id: req-e3448eb9-ddf1-4e55-949a-1510ca59d6c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fbde59a6-6c2b-4099-ab89-ce8d2046381a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.172800s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/810ab12d-9c36-49ed-af25-9aa334b3697d GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d0e1d004-9b79-42a0-8122-c64dfb0b5657 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 810ab12d-9c36-49ed-af25-9aa334b3697d could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.165320s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ebe3996-c31c-49a4-ba7a-a50e8f8aba29 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.103754s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b82b37f9-23fe-46b7-98fc-0f4d5561e121 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.234194s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/526c4779-1e37-4d59-928a-470efe6e213e WITH [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 10}, 'op': 'add'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 10}, 'op': 'add'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 10}, 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f48dd6c0-a628-4c63-bd23-8fcb23e57ded X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "526c4779-1e37-4d59-928a-470efe6e213e", "created_at": "2025-05-22T18:05:59.917033+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/526c4779-1e37-4d59-928a-470efe6e213e", "rel": "self"}, {"href": "http://localhost/deploy_templates/526c4779-1e37-4d59-928a-470efe6e213e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration1", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.097640s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/21448f8f-eb66-4f8a-a51b-f35aa010e8d8 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e4ab88c6-32de-4032-8f58-da71b308465c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.824328s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1c14278d6e33 {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.091961s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.152922s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/8d83057f-b63c-481f-9f9f-967b57dc0043 WITH [{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b583f29-6616-4ff9-ae53-b89f3b2b99f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}'. Reason: can't insert outside of list\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.072956s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.167102s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/78826c4b-f840-42fe-8278-5ef055ac659d WITH [{'path': '/foo', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e963b3dc-c411-444f-b325-2dc2c1e03f80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.846698s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1c14278d6e33 {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.283889s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/33ab1ca4-adb6-49a1-9d31-b72332c89d85 WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a12fba3-5bbc-4f89-ae3f-10572d6c4b07 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "33ab1ca4-adb6-49a1-9d31-b72332c89d85", "created_at": "2025-05-22T18:06:00.645177+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/33ab1ca4-adb6-49a1-9d31-b72332c89d85", "rel": "self"}, {"href": "http://localhost/deploy_templates/33ab1ca4-adb6-49a1-9d31-b72332c89d85", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}]} {3} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.124136s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/bad/path WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.147326s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/086fd455-98ec-41c7-9003-b6526fb5c75b WITH [{'path': '/name', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2a6b05be-fd05-48fd-8c0e-5a1240340e48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.087695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/140ee387-c0c9-411f-b6e6-8cd8b6acd596 WITH [{'path': '/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-04888a16-7f1d-47d6-93e8-0dae92cfea4e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /non-existent. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.261751s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-048faa2d-e95a-4de9-81a7-1622692fdcc8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:00.974153+00:00", "updated_at": "2025-05-22T18:06:01.023319+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "bar2"}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-61bc432c-58ee-4a79-9868-2f853f09ebea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:00.974153+00:00", "updated_at": "2025-05-22T18:06:01.023319+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "bar2"}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.085942s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/924fa712-e2bb-462e-8419-a817da074add WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-992e42b8-c241-42e9-a7e8-29cb48ac59c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'remove'}'. Reason: can't remove non-existent object '1'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.803259s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.119585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/e4d954aa-9c16-41ae-87ee-27051d0d5144 WITH [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b5a73e0b-7dff-44a8-9373-d4c53e60ae1b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/0/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.102988s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.107694s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.141909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/66accf70-2b61-472e-95c5-ef196d61f401 WITH [{'path': '/steps/0', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0b64483-3ee6-49ad-bcdd-aef83ca768be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.118273s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.172841s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/84e20610-5d2c-4146-9cbd-1fe8bf1c95a7 WITH [{'path': '/steps', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11bf9513-c20b-4bf8-bfe3-7261fdc1301d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.109851s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.562139s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/description', 'value': 'test', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ef30e08-22b6-44b9-ad85-c622fea11dab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:01.599230+00:00", "updated_at": "2025-05-22T18:06:01.622792+00:00", "description": "test", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.100894s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/651d4808-25d8-4081-b1d1-0674cc7ba302 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-52cefcd6-01dd-4f06-b6a6-e5e23c35a0b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_new_standard_singular_header_ok [0.094732s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.093495s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-44b31182-102c-485a-aafb-36662f099ddf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: uuid, extra, description\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.077734s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-654791db-2ec4-4010-847c-88984ffbe133 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.098606s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.152003s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/325c467f-f5e9-4989-a6b5-e254042658a4 WITH [{'path': '/steps', 'op': 'replace', 'value': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}]}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b5a142cb-5290-4350-8638-b1cb5aa71c4d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [1.154965s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/5978c218-a856-4fc5-afd4-547a00c175bd WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb7b6c5d-5aad-447c-ab60-860272c0002c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "5978c218-a856-4fc5-afd4-547a00c175bd", "created_at": "2025-05-22T18:06:01.751977+00:00", "updated_at": "2025-05-22T18:06:01.852482+00:00", "candidate_nodes": [], "extra": {"foo": "bar"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5978c218-a856-4fc5-afd4-547a00c175bd", "rel": "self"}, {"href": "http://localhost/allocations/5978c218-a856-4fc5-afd4-547a00c175bd", "rel": "bookmark"}], "node_uuid": null} Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1c14278d6e33 {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.144423s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.114672s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/88de8d08-b06b-4a79-afe5-52b79a7ce883 WITH [{'path': '/steps', 'op': 'replace', 'value': []}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7b874975-a947-41ee-968d-4d897a5de0b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.164144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b WITH [{'path': '/extra/foo2', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0805eda-2b9b-4c12-8ebb-cb8e38c1f12b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "created_at": "2025-05-22T18:06:01.888739+00:00", "updated_at": "2025-05-22T18:06:01.926821+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "rel": "self"}, {"href": "http://localhost/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b/nodes", "rel": "bookmark"}]]} GET /v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab5bfd13-15e6-4b54-bed4-1d1116c4eab0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "created_at": "2025-05-22T18:06:01.888739+00:00", "updated_at": "2025-05-22T18:06:01.926821+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "rel": "self"}, {"href": "http://localhost/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b/nodes", "rel": "bookmark"}]]} PATCH /v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ee44104e-18b5-451b-8138-52001d62956d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "created_at": "2025-05-22T18:06:01.888739+00:00", "updated_at": "2025-05-22T18:06:01.977747+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "rel": "self"}, {"href": "http://localhost/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b/nodes", "rel": "bookmark"}]]} GET /v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b8f76463-a8b2-437c-98b9-17703094c9de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "created_at": "2025-05-22T18:06:01.888739+00:00", "updated_at": "2025-05-22T18:06:01.977747+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "rel": "self"}, {"href": "http://localhost/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9ed16fdd-23be-41d9-8dc5-43c3fe28be1b/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.091765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8f200e8-8495-4eca-817e-554375278547 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.141514s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.135904s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/f1505d2d-44aa-43a9-9f88-b6bd8493bec6 WITH [{'path': '/name', 'op': 'replace', 'value': None}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-521d65db-cee3-43ec-98eb-da061ae91a12 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.132204s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854 WITH [{'path': '/description', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-081cfc6a-1722-4bbf-a8e8-eb0d2ef5389e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "9aedc9fa-0ab6-43af-90f2-86a54c73c854", "created_at": "2025-05-22T18:06:02.155406+00:00", "updated_at": "2025-05-22T18:06:02.195215+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854", "rel": "self"}, {"href": "http://localhost/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854/nodes", "rel": "bookmark"}]]} GET /v1/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20e01afa-ac85-4208-afe3-5e9ac771b43e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "9aedc9fa-0ab6-43af-90f2-86a54c73c854", "created_at": "2025-05-22T18:06:02.155406+00:00", "updated_at": "2025-05-22T18:06:02.195215+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854", "rel": "self"}, {"href": "http://localhost/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9aedc9fa-0ab6-43af-90f2-86a54c73c854/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.130490s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/64769afe-6a2b-41c0-b150-dc05f2c29c76 WITH [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f8b3ab80-7623-46f3-b181-e452d5a95266 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' is not valid under any of the given schemas. Possible root cause: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.126337s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ebe8408d-6b40-4c8f-8f86-9941a419aed0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot overwrite UUID for an existing Chassis.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.127400s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/7399e120-9f07-448c-86c4-ce3520463d3e WITH [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d098ece-f7ff-4768-b647-e48566caf974 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.328655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?owner=54321 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-576b46d6-22ef-4ad0-b44c-91790280a317 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.124957s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d WITH [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-38231cd4-3181-4664-8c62-2664b37e2ce2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "754c6a54-fec1-477f-b2f8-56590b885a3d", "created_at": "2025-05-22T18:06:02.441687+00:00", "updated_at": "2025-05-22T18:06:02.472992+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d", "rel": "self"}, {"href": "http://localhost/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d/nodes", "rel": "self"}, {"href": "http://localhost/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d/nodes", "rel": "bookmark"}]]} GET /v1/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef3e2a16-8c85-48a1-89fe-e5a80c5f23e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "754c6a54-fec1-477f-b2f8-56590b885a3d", "created_at": "2025-05-22T18:06:02.441687+00:00", "updated_at": "2025-05-22T18:06:02.472992+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d", "rel": "self"}, {"href": "http://localhost/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d/nodes", "rel": "self"}, {"href": "http://localhost/chassis/754c6a54-fec1-477f-b2f8-56590b885a3d/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.117645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/31a60fd2-5d49-451d-9c64-ce325466d790 WITH [{'path': '/steps/0', 'op': 'replace', 'value': {'interface': 'foo', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-49b1728b-addd-44ac-bed4-27e7804cf2a4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.115858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4147465d-2fbe-4cd6-8917-3885cbf0d4cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.132378s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/description', 'value': 'chassis-new-description', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5f405b2-303b-4f57-a3b7-05b0dffb9a8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:02.577335+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "description": "chassis-new-description", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c90f0a72-809c-48ac-8065-0a54fff6dc98 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:02.577335+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "description": "chassis-new-description", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.070722s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-154e93ee-c1dc-4e7e-81da-158d030596bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.086419s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.229311s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/b0c12f68-1bfe-4dd1-bc61-29bf0abae1f5 WITH [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 11}, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-819120fd-bcc7-43f9-81f1-c00772234809 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "b0c12f68-1bfe-4dd1-bc61-29bf0abae1f5", "created_at": "2025-05-22T18:06:02.609857+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b0c12f68-1bfe-4dd1-bc61-29bf0abae1f5", "rel": "self"}, {"href": "http://localhost/deploy_templates/b0c12f68-1bfe-4dd1-bc61-29bf0abae1f5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 11}, {"interface": "raid", "step": "create_configuration1", "args": {}, "priority": 11}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 11}]} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.169184s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'path': '/description', 'value': 'new', 'op': 'replace'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0f14af8f-bb8f-4052-8a56-32c75f155906 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.930741s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/2290df49-a9c1-45ac-ac13-ace013bc3ad6 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0387a5db-840a-400d-ae10-bb091a20498f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2290df49-a9c1-45ac-ac13-ace013bc3ad6", "created_at": "2025-05-22T18:06:02.723459+00:00", "updated_at": "2025-05-22T18:06:02.800404+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo2": "bar2"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2290df49-a9c1-45ac-ac13-ace013bc3ad6", "rel": "self"}, {"href": "http://localhost/allocations/2290df49-a9c1-45ac-ac13-ace013bc3ad6", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/2290df49-a9c1-45ac-ac13-ace013bc3ad6 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cba77a7a-8c99-436a-97e1-ad98498e23dd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2290df49-a9c1-45ac-ac13-ace013bc3ad6", "created_at": "2025-05-22T18:06:02.723459+00:00", "updated_at": "2025-05-22T18:06:02.800404+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo2": "bar2"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2290df49-a9c1-45ac-ac13-ace013bc3ad6", "rel": "self"}, {"href": "http://localhost/allocations/2290df49-a9c1-45ac-ac13-ace013bc3ad6", "rel": "bookmark"}], "node_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.115933s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-46babef9-9011-4f0c-a47a-e83d592e90db X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"allocations": [{"uuid": "1c0c2e05-b6c4-40ca-a526-460aff4b58b9", "created_at": "2025-05-22T18:06:02.820541+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1c0c2e05-b6c4-40ca-a526-460aff4b58b9", "rel": "self"}, {"href": "http://localhost/allocations/1c0c2e05-b6c4-40ca-a526-460aff4b58b9", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "5a7274ac-b40a-42c0-84ef-d872710eafc8", "created_at": "2025-05-22T18:06:02.822240+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5a7274ac-b40a-42c0-84ef-d872710eafc8", "rel": "self"}, {"href": "http://localhost/allocations/5a7274ac-b40a-42c0-84ef-d872710eafc8", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "0b3d2706-d935-49bb-8bf9-2d79f7322984", "created_at": "2025-05-22T18:06:02.823262+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0b3d2706-d935-49bb-8bf9-2d79f7322984", "rel": "self"}, {"href": "http://localhost/allocations/0b3d2706-d935-49bb-8bf9-2d79f7322984", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "9721985d-c192-47e1-a6cf-6391adb372fd", "created_at": "2025-05-22T18:06:02.824242+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9721985d-c192-47e1-a6cf-6391adb372fd", "rel": "self"}, {"href": "http://localhost/allocations/9721985d-c192-47e1-a6cf-6391adb372fd", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "b3e6a9fe-25b1-4c19-b073-5a2a1c8c1215", "created_at": "2025-05-22T18:06:02.829376+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b3e6a9fe-25b1-4c19-b073-5a2a1c8c1215", "rel": "self"}, {"href": "http://localhost/allocations/b3e6a9fe-25b1-4c19-b073-5a2a1c8c1215", "rel": "bookmark"}], "node_uuid": null}]} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.131633s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/c9e0b3fa-d75a-410a-be62-4dbcc1b29932 WITH [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d871d960-5845-4623-b5bc-29ac271ddd7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis c9e0b3fa-d75a-410a-be62-4dbcc1b29932 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.205075s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/c54beba5-e45a-4a69-ba02-edd1f2356aab WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-49f9bdcf-734f-46f1-9931-6ffb3f44b445 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID c54beba5-e45a-4a69-ba02-edd1f2356aab already exists.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.117469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/9d6595bc-fbb1-4de3-8004-8c16ea4d3012 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c71e4ff2-f26a-4c79-be79-9400dda4adba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: name, extra\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.143556s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/d68937ac-5671-48e9-8dd3-54aa682273b0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e65b089b-b6d6-466a-a695-20076734adf6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"uuid": "d68937ac-5671-48e9-8dd3-54aa682273b0", "created_at": "2025-05-22T18:06:02.930957+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d68937ac-5671-48e9-8dd3-54aa682273b0", "rel": "self"}, {"href": "http://localhost/allocations/d68937ac-5671-48e9-8dd3-54aa682273b0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/allocations/d68937ac-5671-48e9-8dd3-54aa682273b0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b4335643-22eb-4c8f-89b0-70d8a5963006 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "d68937ac-5671-48e9-8dd3-54aa682273b0", "created_at": "2025-05-22T18:06:02.930957+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d68937ac-5671-48e9-8dd3-54aa682273b0", "rel": "self"}, {"href": "http://localhost/allocations/d68937ac-5671-48e9-8dd3-54aa682273b0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.148737s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-439ab8a3-8f51-437d-9600-88547173b9b8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c9db3dc6-7b6a-4c6c-9fec-5ffc793bac40 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.096966s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/cefe9477-178b-4143-bdee-97818cf52999 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-38bbc253-9ab3-416b-a197-6d24927b77fc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "cefe9477-178b-4143-bdee-97818cf52999", "created_at": "2025-05-22T18:06:03.078738+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/cefe9477-178b-4143-bdee-97818cf52999", "rel": "self"}, {"href": "http://localhost/allocations/cefe9477-178b-4143-bdee-97818cf52999", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.123307s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/be347f94-c872-4774-acd8-980650e76cd0 WITH [{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3af81884-57e5-4566-966a-16932b640bfe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}'. Reason: list assignment index out of range\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.120174s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/fcac1270-95f6-4543-a36d-53bc8982ffd8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-280ca36a-b4b5-4e23-b67a-1fb5b63c8338 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fcac1270-95f6-4543-a36d-53bc8982ffd8", "created_at": "2025-05-22T18:06:03.178346+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fcac1270-95f6-4543-a36d-53bc8982ffd8", "rel": "self"}, {"href": "http://localhost/allocations/fcac1270-95f6-4543-a36d-53bc8982ffd8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.122245s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'foo': 123}, 'description': 'data-center-1-chassis'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-a50c3b0d-d31f-4a05-bdf0-72d236727e6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:03.192083+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"foo": 123}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b8b55fe-7ef1-4fbc-9554-e8ea9afb2247 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:03.192083+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"foo": 123}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.254366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/ae473648-c666-440a-a0b7-96df7e96eadb WITH [{'path': '/extra/foo2', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df0625af-d0e5-48a3-9289-e10991133c30 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ae473648-c666-440a-a0b7-96df7e96eadb", "created_at": "2025-05-22T18:06:03.065397+00:00", "updated_at": "2025-05-22T18:06:03.115966+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo3": "bar3"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ae473648-c666-440a-a0b7-96df7e96eadb", "rel": "self"}, {"href": "http://localhost/allocations/ae473648-c666-440a-a0b7-96df7e96eadb", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/ae473648-c666-440a-a0b7-96df7e96eadb WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-99373b5e-2e22-4188-bc32-cc841b0c918f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ae473648-c666-440a-a0b7-96df7e96eadb", "created_at": "2025-05-22T18:06:03.065397+00:00", "updated_at": "2025-05-22T18:06:03.115966+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo3": "bar3"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ae473648-c666-440a-a0b7-96df7e96eadb", "rel": "self"}, {"href": "http://localhost/allocations/ae473648-c666-440a-a0b7-96df7e96eadb", "rel": "bookmark"}], "node_uuid": null} PATCH /v1/allocations/ae473648-c666-440a-a0b7-96df7e96eadb WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5ac581a8-f355-4f00-95df-75b33c4a1cb3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ae473648-c666-440a-a0b7-96df7e96eadb", "created_at": "2025-05-22T18:06:03.065397+00:00", "updated_at": "2025-05-22T18:06:03.192861+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ae473648-c666-440a-a0b7-96df7e96eadb", "rel": "self"}, {"href": "http://localhost/allocations/ae473648-c666-440a-a0b7-96df7e96eadb", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/ae473648-c666-440a-a0b7-96df7e96eadb WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26b2ea3c-9fe8-469d-b078-5060e50ae494 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ae473648-c666-440a-a0b7-96df7e96eadb", "created_at": "2025-05-22T18:06:03.065397+00:00", "updated_at": "2025-05-22T18:06:03.192861+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ae473648-c666-440a-a0b7-96df7e96eadb", "rel": "self"}, {"href": "http://localhost/allocations/ae473648-c666-440a-a0b7-96df7e96eadb", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.150962s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/691e3084-851b-4c35-8236-c3544434c294 WITH [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec2ef046-ef4d-4da2-be64-000714a400b1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.077150s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/node/84497f05-30c5-418b-89cc-6ff7e09bc4c8/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.077448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8bb3ed1b-0621-4b79-8d6f-98769e921a0e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.132688s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/bc80d42a-0979-4f88-ba4a-06f7c01a22a5 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4e7a904f-6eec-48e0-b543-9ed142df2ff4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.106799s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/node/a6010af0-5ae5-41f0-9ba3-4826de09b5dd/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.115585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'extra': {}, 'description': 'data-center-1-chassis'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/aa9fcf03-426f-4869-a1f2-65190a2c8b3f Openstack-Request-Id: req-2dac4713-942e-4315-996e-4c4cf04d5696 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "aa9fcf03-426f-4869-a1f2-65190a2c8b3f", "created_at": "2025-05-22T18:06:03.400231+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/aa9fcf03-426f-4869-a1f2-65190a2c8b3f", "rel": "self"}, {"href": "http://localhost/chassis/aa9fcf03-426f-4869-a1f2-65190a2c8b3f", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/aa9fcf03-426f-4869-a1f2-65190a2c8b3f/nodes", "rel": "self"}, {"href": "http://localhost/chassis/aa9fcf03-426f-4869-a1f2-65190a2c8b3f/nodes", "rel": "bookmark"}]]} GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-69a8d322-127b-4e8c-9895-3941baf85a56 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": [{"uuid": "aa9fcf03-426f-4869-a1f2-65190a2c8b3f", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/aa9fcf03-426f-4869-a1f2-65190a2c8b3f", "rel": "self"}, {"href": "http://localhost/chassis/aa9fcf03-426f-4869-a1f2-65190a2c8b3f", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.189538s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/18615af8-c20c-4b13-a096-45be079e02f9 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5bca4f9d-9f3c-4c7d-b9b1-efc0494686cc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "18615af8-c20c-4b13-a096-45be079e02f9", "created_at": "2025-05-22T18:06:03.353853+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/18615af8-c20c-4b13-a096-45be079e02f9", "rel": "self"}, {"href": "http://localhost/deploy_templates/18615af8-c20c-4b13-a096-45be079e02f9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.100685s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c06796a2-3df9-458f-a5c6-04474da55f8e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "0c954cba-c998-4924-9b00-4909c2fc4c59", "created_at": "2025-05-22T18:06:03.476699+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0c954cba-c998-4924-9b00-4909c2fc4c59", "rel": "self"}, {"href": "http://localhost/allocations/0c954cba-c998-4924-9b00-4909c2fc4c59", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "ac987665-3140-408c-8439-7dd6dddcb218", "created_at": "2025-05-22T18:06:03.481015+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ac987665-3140-408c-8439-7dd6dddcb218", "rel": "self"}, {"href": "http://localhost/allocations/ac987665-3140-408c-8439-7dd6dddcb218", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "43a4620f-9040-4837-a987-bf6e7bea18e8", "created_at": "2025-05-22T18:06:03.481998+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/43a4620f-9040-4837-a987-bf6e7bea18e8", "rel": "self"}, {"href": "http://localhost/allocations/43a4620f-9040-4837-a987-bf6e7bea18e8", "rel": "bookmark"}], "node_uuid": null}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=43a4620f-9040-4837-a987-bf6e7bea18e8"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.113535s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 1334} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9b5a32d4-33f8-4824-96ec-b5201fba13b1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 1334 is not of type 'string', 'null'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.222717s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/74e80c7e-6370-40b4-b1ee-9efc347f1d0a WITH [{'path': '/extra/a', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d82d36a5-796e-45e5-bc41-a344a472f9f0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "74e80c7e-6370-40b4-b1ee-9efc347f1d0a", "created_at": "2025-05-22T18:06:03.473522+00:00", "updated_at": "2025-05-22T18:06:03.566580+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/74e80c7e-6370-40b4-b1ee-9efc347f1d0a", "rel": "self"}, {"href": "http://localhost/allocations/74e80c7e-6370-40b4-b1ee-9efc347f1d0a", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/74e80c7e-6370-40b4-b1ee-9efc347f1d0a WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-710704af-1ae3-4723-8785-2d57dc5c81a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "74e80c7e-6370-40b4-b1ee-9efc347f1d0a", "created_at": "2025-05-22T18:06:03.473522+00:00", "updated_at": "2025-05-22T18:06:03.566580+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/74e80c7e-6370-40b4-b1ee-9efc347f1d0a", "rel": "self"}, {"href": "http://localhost/allocations/74e80c7e-6370-40b4-b1ee-9efc347f1d0a", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.155680s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/a72a7d17-b149-48fa-86e8-0a20acceb234 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.134168s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1eea7961-5a37-4fd4-8789-50e42f444874 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "8aea5a23-56c4-44d3-bb5f-8722bbc0e923", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/8aea5a23-56c4-44d3-bb5f-8722bbc0e923", "rel": "self"}, {"href": "http://localhost/allocations/8aea5a23-56c4-44d3-bb5f-8722bbc0e923", "rel": "bookmark"}]}, {"uuid": "e2eb5ae4-f0dc-453d-8944-f5f9b31b9445", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/e2eb5ae4-f0dc-453d-8944-f5f9b31b9445", "rel": "self"}, {"href": "http://localhost/allocations/e2eb5ae4-f0dc-453d-8944-f5f9b31b9445", "rel": "bookmark"}]}, {"uuid": "033ace0e-fe6d-4731-a01d-0fe0f1263078", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/033ace0e-fe6d-4731-a01d-0fe0f1263078", "rel": "self"}, {"href": "http://localhost/allocations/033ace0e-fe6d-4731-a01d-0fe0f1263078", "rel": "bookmark"}]}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=033ace0e-fe6d-4731-a01d-0fe0f1263078"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.106917s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8f0cc24e-047b-4b98-bffd-4cad320e8c81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.117840s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-769db8ba-1921-4655-b164-66f23c3345b2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "5186bffd-0451-4aa8-a91e-5cca1f78018e", "created_at": "2025-05-22T18:06:03.723202+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5186bffd-0451-4aa8-a91e-5cca1f78018e", "rel": "self"}, {"href": "http://localhost/allocations/5186bffd-0451-4aa8-a91e-5cca1f78018e", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "baeab24c-d244-4f8b-b0ee-5e05082159e4", "created_at": "2025-05-22T18:06:03.724355+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/baeab24c-d244-4f8b-b0ee-5e05082159e4", "rel": "self"}, {"href": "http://localhost/allocations/baeab24c-d244-4f8b-b0ee-5e05082159e4", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "4b651b67-46d7-49fe-803a-5f6a87079b1b", "created_at": "2025-05-22T18:06:03.725251+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/4b651b67-46d7-49fe-803a-5f6a87079b1b", "rel": "self"}, {"href": "http://localhost/allocations/4b651b67-46d7-49fe-803a-5f6a87079b1b", "rel": "bookmark"}], "node_uuid": null}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=4b651b67-46d7-49fe-803a-5f6a87079b1b"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.100287s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'амо'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-e0cce025-3e78-4cc3-b4a1-8fbaaf9446b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:03.744535+00:00", "updated_at": null, "description": "\u0430\u043c\u043e", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6db456ca-5cd4-42bc-a410-a753ef6deac2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:03.744535+00:00", "updated_at": null, "description": "\u0430\u043c\u043e", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.173449s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/69e4a058-2a8e-4de7-ab46-92a2dbfb8b87 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d898cf4-d128-493e-b0ce-4ebf944f2e57 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: name, extra\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.101292s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'description': 'data-center-1-chassis'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-a2500d49-cf3b-4e68-af8b-3df4ccbc2230 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:03.857144+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6300fcea-69b6-4aeb-aca5-f677f59d1629 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:03.857144+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.250963s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/CUSTOM_DT1 WITH [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}], 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b896d6c1-d8ea-49ee-a738-a2e3bf60246d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a03b9555-37c8-4e46-aa33-1d008c1141f4", "created_at": "2025-05-22T18:06:03.736044+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a03b9555-37c8-4e46-aa33-1d008c1141f4", "rel": "self"}, {"href": "http://localhost/deploy_templates/a03b9555-37c8-4e46-aa33-1d008c1141f4", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.144141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/8e78db03-cfaa-4ea1-ac41-6999875dc724 WITH [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-48d501b9-da88-4147-8f52-39ddd12f11df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.212373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-54036ed1-37f5-44eb-b982-996075655573 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": []} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.130795s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/CUSTOM_DT1 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.168392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6a379869-b729-4b14-babf-6f916b0c44bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.107111s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/CUSTOM_DT1 GOT Response: 204 No Content Openstack-Request-Id: req-9c525556-7ea1-4144-a3f8-71d497938fe2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.277045s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/1018550e-657a-4cca-80b2-413e88b3d807 WITH [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-21205234-95be-45f9-8df7-70a0cf4fec08 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1018550e-657a-4cca-80b2-413e88b3d807", "created_at": "2025-05-22T18:06:04.080673+00:00", "updated_at": "2025-05-22T18:06:04.157692+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1018550e-657a-4cca-80b2-413e88b3d807", "rel": "self"}, {"href": "http://localhost/allocations/1018550e-657a-4cca-80b2-413e88b3d807", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/1018550e-657a-4cca-80b2-413e88b3d807 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fefd3f07-93fe-4bd0-af7e-0f85b2636d5c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1018550e-657a-4cca-80b2-413e88b3d807", "created_at": "2025-05-22T18:06:04.080673+00:00", "updated_at": "2025-05-22T18:06:04.157692+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1018550e-657a-4cca-80b2-413e88b3d807", "rel": "self"}, {"href": "http://localhost/allocations/1018550e-657a-4cca-80b2-413e88b3d807", "rel": "bookmark"}], "node_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.271869s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?node=node-1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-300bc3b4-1017-430c-8f0e-89d3435f5ce7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "28c9848e-94ec-447c-9a41-023c5590258a", "created_at": "2025-05-22T18:06:04.118799+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/28c9848e-94ec-447c-9a41-023c5590258a", "rel": "self"}, {"href": "http://localhost/allocations/28c9848e-94ec-447c-9a41-023c5590258a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "f55e4f05-1d9a-467c-9bae-57fb555eca6f", "created_at": "2025-05-22T18:06:04.119833+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f55e4f05-1d9a-467c-9bae-57fb555eca6f", "rel": "self"}, {"href": "http://localhost/allocations/f55e4f05-1d9a-467c-9bae-57fb555eca6f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "fbd84675-f9a0-4585-b23b-d08ec6de0f9c", "created_at": "2025-05-22T18:06:04.134532+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fbd84675-f9a0-4585-b23b-d08ec6de0f9c", "rel": "self"}, {"href": "http://localhost/allocations/fbd84675-f9a0-4585-b23b-d08ec6de0f9c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.094887s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/blah GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fc80c46e-591d-411a-a7bd-325c880dc419 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.268206s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/CUSTOM_DT1.json WITH [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c67a6a2-e0ba-4f5b-843a-e2e305331ca1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "2b1452bf-ed84-4bd0-b42a-66b4aa481002", "created_at": "2025-05-22T18:06:04.160557+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2b1452bf-ed84-4bd0-b42a-66b4aa481002", "rel": "self"}, {"href": "http://localhost/deploy_templates/2b1452bf-ed84-4bd0-b42a-66b4aa481002", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.079918s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/CUSTOM_DT1.json GOT Response: 204 No Content Openstack-Request-Id: req-a8b4bd2c-9d74-479f-9077-1efb08b4fec9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.167784s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-96f33afd-280f-4762-9d27-515f2f9e2cce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "8dcfd103-01a7-402d-836f-f26c6e3fd742", "created_at": "2025-05-22T18:06:04.329958+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8dcfd103-01a7-402d-836f-f26c6e3fd742", "rel": "self"}, {"href": "http://localhost/allocations/8dcfd103-01a7-402d-836f-f26c6e3fd742", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.225131s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/df5b794e-25cc-41a9-9a50-793727adaa4e WITH [{'path': '/name', 'value': None, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-afe15cca-836e-4ce9-ab96-4619a403e9f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "df5b794e-25cc-41a9-9a50-793727adaa4e", "created_at": "2025-05-22T18:06:04.331789+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/df5b794e-25cc-41a9-9a50-793727adaa4e", "rel": "self"}, {"href": "http://localhost/allocations/df5b794e-25cc-41a9-9a50-793727adaa4e", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/df5b794e-25cc-41a9-9a50-793727adaa4e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bee5a8a8-54f2-4b20-86e6-b225570fc497 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "df5b794e-25cc-41a9-9a50-793727adaa4e", "created_at": "2025-05-22T18:06:04.331789+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/df5b794e-25cc-41a9-9a50-793727adaa4e", "rel": "self"}, {"href": "http://localhost/allocations/df5b794e-25cc-41a9-9a50-793727adaa4e", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json_not_found [0.169782s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/CUSTOM_DT1.json WITH [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d9e59676-3f34-4ee4-887f-18ef96733669 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template CUSTOM_DT1.json could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json_not_found [0.103000s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/CUSTOM_DT1.json GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e8ceca7f-f8be-4c6c-8fe4-c8a6bfbbcd29 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template CUSTOM_DT1.json could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.105306s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?node=banana WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e373877-03a4-4f42-8223-98c9c3f531aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.106635s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/f0042feb-6ea6-4db5-a5ca-eb75e08ae194 GOT Response: 204 No Content Openstack-Request-Id: req-28e08671-0a6b-4fc4-90ea-9bc0638630ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.093981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?owner=12345 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-995d6754-b1a0-4c41-a7a5-c9cbd1419488 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "a1dd0d98-ee81-425c-8358-eef0bbb95189", "created_at": "2025-05-22T18:06:04.589462+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a1dd0d98-ee81-425c-8358-eef0bbb95189", "rel": "self"}, {"href": "http://localhost/allocations/a1dd0d98-ee81-425c-8358-eef0bbb95189", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "e8637939-e6c4-4e3d-aa17-38abca5bd954", "created_at": "2025-05-22T18:06:04.590402+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e8637939-e6c4-4e3d-aa17-38abca5bd954", "rel": "self"}, {"href": "http://localhost/allocations/e8637939-e6c4-4e3d-aa17-38abca5bd954", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "6d693ab5-1498-41e2-a0bc-1d70641a769f", "created_at": "2025-05-22T18:06:04.591285+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6d693ab5-1498-41e2-a0bc-1d70641a769f", "rel": "self"}, {"href": "http://localhost/allocations/6d693ab5-1498-41e2-a0bc-1d70641a769f", "rel": "bookmark"}], "node_uuid": null}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.214338s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/30bd12ac-27ed-440c-8758-64d3cfc24af4 WITH [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1fcd919a-4e53-48a1-a650-c9c59c0b772e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "30bd12ac-27ed-440c-8758-64d3cfc24af4", "created_at": "2025-05-22T18:06:04.563044+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": "test", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/30bd12ac-27ed-440c-8758-64d3cfc24af4", "rel": "self"}, {"href": "http://localhost/allocations/30bd12ac-27ed-440c-8758-64d3cfc24af4", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/30bd12ac-27ed-440c-8758-64d3cfc24af4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-11f97a87-81fa-4bb8-8d8b-db9c94dfecda X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "30bd12ac-27ed-440c-8758-64d3cfc24af4", "created_at": "2025-05-22T18:06:04.563044+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": "test", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/30bd12ac-27ed-440c-8758-64d3cfc24af4", "rel": "self"}, {"href": "http://localhost/allocations/30bd12ac-27ed-440c-8758-64d3cfc24af4", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.208185s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/00ec2993-c43c-40a9-a222-80da67a2fec9 WITH [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-31b4b146-c62c-4bb9-bec4-daa975ce21c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' is not valid under any of the given schemas. Possible root cause: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.110767s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/f4c2adb5-fa05-4638-8118-9b58dba5b3db.json GOT Response: 204 No Content Openstack-Request-Id: req-84088368-6b75-493c-a231-a8607702d2bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.111243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?owner=12345 WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-692d8566-6043-4923-a0b7-1b7a44b0ed01 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed_mismatch [0.077734s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?owner=12345 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5cbc8897-f375-4742-beca-6b75efb20bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Not authorized.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json_not_found [0.097716s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/19e11aa7-d3bf-4dbc-973d-6dee1210b067.json GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-893a11db-de65-48af-9fcf-a6abd427faf6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 19e11aa7-d3bf-4dbc-973d-6dee1210b067.json could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.183444s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/7cd6677e-d124-41d2-b1dc-2de60308b638 WITH [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f6a4726e-ce9d-463b-bc98-1d4cc469a7eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.176034s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/1fa2e022-dcd6-4e43-b7eb-fbf1318699c9 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8decdc7a-9163-4210-9b79-566ba51aa435 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1fa2e022-dcd6-4e43-b7eb-fbf1318699c9", "created_at": "2025-05-22T18:06:04.776923+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1fa2e022-dcd6-4e43-b7eb-fbf1318699c9", "rel": "self"}, {"href": "http://localhost/deploy_templates/1fa2e022-dcd6-4e43-b7eb-fbf1318699c9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.100623s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/e0ca34c5-fa47-425c-9cde-a98827fb1e5e GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.092922s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/9c79643a-1438-40b3-bdc1-1d5e461ccddb WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-20c8fa9f-29e5-4554-9739-0fd2357695a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The API version does not allow updating allocations\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.168436s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?state=allocating WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c55e66f-4a20-4549-8582-e94c155ccb8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "65f941f2-c889-40d9-a8cc-7035866e0934", "created_at": "2025-05-22T18:06:04.928694+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/65f941f2-c889-40d9-a8cc-7035866e0934", "rel": "self"}, {"href": "http://localhost/allocations/65f941f2-c889-40d9-a8cc-7035866e0934", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "d111b48d-c917-4723-882c-657479c61677", "created_at": "2025-05-22T18:06:04.937405+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d111b48d-c917-4723-882c-657479c61677", "rel": "self"}, {"href": "http://localhost/allocations/d111b48d-c917-4723-882c-657479c61677", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "fa625af4-a095-4ecb-8099-5ad00c8eed7b", "created_at": "2025-05-22T18:06:04.938633+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fa625af4-a095-4ecb-8099-5ad00c8eed7b", "rel": "self"}, {"href": "http://localhost/allocations/fa625af4-a095-4ecb-8099-5ad00c8eed7b", "rel": "bookmark"}], "node_uuid": null}]} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.114823s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/CUSTOM_DT1 GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.131258s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/db3c9f91-d04c-4ba2-8932-411fcdcbd14a WITH [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2c8ca9ca-5af6-4717-83d6-c70fe206b57d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation db3c9f91-d04c-4ba2-8932-411fcdcbd14a could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.154216s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b11eeec2-6656-4c39-9637-681696f5da5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a250dc2f-26a5-46c2-84ef-a2f7b92385f1", "created_at": "2025-05-22T18:06:05.074230+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a250dc2f-26a5-46c2-84ef-a2f7b92385f1", "rel": "self"}, {"href": "http://localhost/allocations/a250dc2f-26a5-46c2-84ef-a2f7b92385f1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.096239s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.097645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/3d8072d2-52e4-48ba-80c3-d9791c5007aa WITH [{'path': '/owner', 'value': '54321', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9eb4f7c9-5f7c-4917-957b-faddf78d9731 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /owner. Only the following can be updated: name, extra\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.104671s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/afab2898-19ff-4fee-8de4-3a69b5724a6e WITH {} GOT Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.106393s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.089675s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.088899s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.178393s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '73e62aea-45b0-4381-8690-2a5a88704c5a', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/73e62aea-45b0-4381-8690-2a5a88704c5a Openstack-Request-Id: req-711bc2ce-e127-426f-916b-068814c7f191 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "73e62aea-45b0-4381-8690-2a5a88704c5a", "created_at": "2025-05-22T18:06:05.299213+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/73e62aea-45b0-4381-8690-2a5a88704c5a", "rel": "self"}, {"href": "http://localhost/allocations/73e62aea-45b0-4381-8690-2a5a88704c5a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/allocations/73e62aea-45b0-4381-8690-2a5a88704c5a WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12a7af8e-e7aa-4520-9392-00ae91854869 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "73e62aea-45b0-4381-8690-2a5a88704c5a", "created_at": "2025-05-22T18:06:05.299213+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/73e62aea-45b0-4381-8690-2a5a88704c5a", "rel": "self"}, {"href": "http://localhost/allocations/73e62aea-45b0-4381-8690-2a5a88704c5a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.057232s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.096808s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-602edfcd-9ee4-4742-8592-7f286bf9b198 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"extra": {}, "name": null, "links": [{"href": "http://localhost/v1/allocations/6de14fe3-e250-4d80-b6f5-d71ebd2f1b34", "rel": "self"}, {"href": "http://localhost/allocations/6de14fe3-e250-4d80-b6f5-d71ebd2f1b34", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.071450s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.647941s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/93de3720-82de-48b7-bbfc-2a8209f037aa WITH [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-576cccb6-f7fa-40c1-8714-e5eff623f072 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "93de3720-82de-48b7-bbfc-2a8209f037aa", "created_at": "2025-05-22T18:06:04.923606+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/93de3720-82de-48b7-bbfc-2a8209f037aa", "rel": "self"}, {"href": "http://localhost/deploy_templates/93de3720-82de-48b7-bbfc-2a8209f037aa", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.157879s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/439475a1-8138-4abb-bebe-cfe78b4756e7 Openstack-Request-Id: req-cdcae669-d5b7-4e80-9e65-6fb64a7bf7f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "439475a1-8138-4abb-bebe-cfe78b4756e7", "created_at": "2025-05-22T18:06:05.476842+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "bm-super", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/439475a1-8138-4abb-bebe-cfe78b4756e7", "rel": "self"}, {"href": "http://localhost/allocations/439475a1-8138-4abb-bebe-cfe78b4756e7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/allocations/439475a1-8138-4abb-bebe-cfe78b4756e7 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb9ccb05-ed60-4807-8b18-eae64c7be96a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "439475a1-8138-4abb-bebe-cfe78b4756e7", "created_at": "2025-05-22T18:06:05.476842+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "bm-super", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/439475a1-8138-4abb-bebe-cfe78b4756e7", "rel": "self"}, {"href": "http://localhost/allocations/439475a1-8138-4abb-bebe-cfe78b4756e7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.132780s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a355bcd-c385-4ba0-a196-1055334c844b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "7529b043-1d06-437f-9181-7102de2da1c4", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/7529b043-1d06-437f-9181-7102de2da1c4", "rel": "self"}, {"href": "http://localhost/allocations/7529b043-1d06-437f-9181-7102de2da1c4", "rel": "bookmark"}]}, {"uuid": "f42aded6-a462-4d49-a44b-15f3f849a619", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/f42aded6-a462-4d49-a44b-15f3f849a619", "rel": "self"}, {"href": "http://localhost/allocations/f42aded6-a462-4d49-a44b-15f3f849a619", "rel": "bookmark"}]}, {"uuid": "eeb14397-924c-4e22-8b89-4269379e9a3e", "extra": {}, "links": [{"href": "http://localhost/v1/allocations/eeb14397-924c-4e22-8b89-4269379e9a3e", "rel": "self"}, {"href": "http://localhost/allocations/eeb14397-924c-4e22-8b89-4269379e9a3e", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.092033s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/aac3f166-bd82-44b4-9be7-eb644b6b0ef7 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a8588072-2305-4f62-89c9-ec16dad7e0e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template aac3f166-bd82-44b4-9be7-eb644b6b0ef7 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.047265s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b951aba-a2ae-4ae5-bf7b-fde014b2212c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"prop1": "Property 1. Required."} GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78174e06-6cdb-4cdd-a668-f62aa3fd450d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"prop1": "Property 1. Required."} GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-32f49c1f-cd89-4832-9d9b-57e0593078ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"prop1": "Property 1. Required."} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.127976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4cf4a615-c7e8-4bcc-b1cb-1562a752d885', 'owner': None, 'node': '92bd4805-a77e-4ff1-840b-905a7ac10e6e'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e80a4c29-52e5-4d80-aecd-2b77e5b0e0e9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 92bd4805-a77e-4ff1-840b-905a7ac10e6e could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_empty [0.176645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/inspection_rules WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b598e505-52de-4f8e-8738-f26e03ea1027 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inspection_rules": []} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.079034s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/driver/properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fdff2147-957e-4d14-95d7-67084360e825 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.163144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?fields=node_uuid&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ff1ea14-eeee-48a0-b92c-778332f5a21c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"links": [{"href": "http://localhost/v1/allocations/6c394e86-71eb-4ffe-af8a-861043f0265c", "rel": "self"}, {"href": "http://localhost/allocations/6c394e86-71eb-4ffe-af8a-861043f0265c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"links": [{"href": "http://localhost/v1/allocations/f8295c13-82ac-4af6-b002-407a0283afbb", "rel": "self"}, {"href": "http://localhost/allocations/f8295c13-82ac-4af6-b002-407a0283afbb", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=f8295c13-82ac-4af6-b002-407a0283afbb"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.090964s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-95215300-7920-48f5-aeeb-c0353ef3bcc9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.57 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot set node when creating an allocation in this API version\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.048815s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/test/properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f626a89e-6be9-4324-aa38-a940fadc9f62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"prop1": "Property 1. Required."} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.041706s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/manual-management/properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55f6d0b6-f206-45c3-8489-e361d153bfbd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"prop1": "Property 1. Required."} {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_all [0.149147s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/inspection_rules WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9b078a46-3c9e-4f4f-af7c-81ee89b1181c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inspection_rules": [{"uuid": "39bb9ad5-3fa6-4a82-9b57-b14f187b450f", "description": "an inspection rule", "priority": 0, "phase": "main", "links": [{"href": "http://localhost/v1/inspection/39bb9ad5-3fa6-4a82-9b57-b14f187b450f", "rel": "self"}, {"href": "http://localhost/inspection/39bb9ad5-3fa6-4a82-9b57-b14f187b450f", "rel": "bookmark"}]}, {"uuid": "2681d3b9-e0fb-4137-8e1d-79d480f7edff", "description": "an inspection rule", "priority": 0, "phase": "main", "links": [{"href": "http://localhost/v1/inspection/2681d3b9-e0fb-4137-8e1d-79d480f7edff", "rel": "self"}, {"href": "http://localhost/inspection/2681d3b9-e0fb-4137-8e1d-79d480f7edff", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.040822s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/bad_driver/properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ebfe579c-dd86-40cf-b52a-d192d121470d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.146944s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/95135a15-d5d1-4835-82bf-984cd32f123e?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae425187-ebd8-4494-aacc-c93594fc092d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_all_invalid_api_version [0.081389s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/inspection_rules WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow inspection rules\"}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.060124s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-ca40cef0-9a92-4d13-b8ef-3aad1f37b2c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.172472s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '3698acb2-19ec-4d6e-863a-69043afc5762', 'owner': None, 'node': 'backfill-me'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/3698acb2-19ec-4d6e-863a-69043afc5762 Openstack-Request-Id: req-946420e4-b7f2-4449-bfa7-b963180aeb88 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3698acb2-19ec-4d6e-863a-69043afc5762", "created_at": "2025-05-22T18:06:05.879563+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3698acb2-19ec-4d6e-863a-69043afc5762", "rel": "self"}, {"href": "http://localhost/allocations/3698acb2-19ec-4d6e-863a-69043afc5762", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/allocations/3698acb2-19ec-4d6e-863a-69043afc5762 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e2c6470e-117d-4222-a683-eb68e516d284 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3698acb2-19ec-4d6e-863a-69043afc5762", "created_at": "2025-05-22T18:06:05.879563+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3698acb2-19ec-4d6e-863a-69043afc5762", "rel": "self"}, {"href": "http://localhost/allocations/3698acb2-19ec-4d6e-863a-69043afc5762", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.048598s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'INVALID': 'fake.event'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb7e2ba2-f101-4adf-be44-7a48b249550a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_one [0.076980s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/inspection_rules/f7c3b9c2-8695-4017-963c-aafd4b53632e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c9258761-0180-4b89-8dfe-c72d5a0e9437 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "f7c3b9c2-8695-4017-963c-aafd4b53632e", "created_at": "2025-05-22T18:06:05.966465+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "is-true", "args": ["{node.auto_discovered}"]}], "actions": [{"op": "set-attribute", "args": ["/driver", "idrac"], "loop": []}], "links": [{"href": "http://localhost/v1/inspection/f7c3b9c2-8695-4017-963c-aafd4b53632e", "rel": "self"}, {"href": "http://localhost/inspection/f7c3b9c2-8695-4017-963c-aafd4b53632e", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.031674s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'invalid.event'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-831ae2e0-e308-4494-8391-5647a547eb99 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.152593s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/090d9d12-4254-4c04-8dc2-1b6a38bf2874 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-24b54cc0-e5d6-4341-9206-c71d230f32bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "090d9d12-4254-4c04-8dc2-1b6a38bf2874", "created_at": "2025-05-22T18:06:05.992262+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/090d9d12-4254-4c04-8dc2-1b6a38bf2874", "rel": "self"}, {"href": "http://localhost/allocations/090d9d12-4254-4c04-8dc2-1b6a38bf2874", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_one_invalid_api_version [0.074909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/inspection_rules/f62f3668-6f46-4ffb-88f0-eca63bdb19b7 WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow inspection rules\"}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.136823s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/dec0b2d6-dad3-4750-98c1-d4aa13d94ebd Openstack-Request-Id: req-f31e4f5e-7069-4e2d-99e7-72819f1f9dae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "dec0b2d6-dad3-4750-98c1-d4aa13d94ebd", "created_at": "2025-05-22T18:06:06.028181+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "bm-super", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/dec0b2d6-dad3-4750-98c1-d4aa13d94ebd", "rel": "self"}, {"href": "http://localhost/allocations/dec0b2d6-dad3-4750-98c1-d4aa13d94ebd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/allocations/dec0b2d6-dad3-4750-98c1-d4aa13d94ebd WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4bce2d8f-a232-4b85-bf66-359ee4d9f97f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "dec0b2d6-dad3-4750-98c1-d4aa13d94ebd", "created_at": "2025-05-22T18:06:06.028181+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "bm-super", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/dec0b2d6-dad3-4750-98c1-d4aa13d94ebd", "rel": "self"}, {"href": "http://localhost/allocations/dec0b2d6-dad3-4750-98c1-d4aa13d94ebd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.079729s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df74c541-1df7-471a-8a0f-7087779f2e7b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_rule_data [0.110115s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/inspection_rules WITH {'uuid': '44650f0e-8ee7-4d98-a47a-ef186f94e35d', 'description': 'an inspection rule', 'sensitive': False, 'phase': 'main', 'priority': 0, 'actions': [{'op': 'set-attribute', 'args': {'path': 'test', 'value': 'secret'}}], 'conditions': [{'op': 'eq', 'args': {'values': [1, 1]}}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/inspection_rules/44650f0e-8ee7-4d98-a47a-ef186f94e35d Openstack-Request-Id: req-95137851-9ab2-43cd-9453-d87e7f570c0a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "44650f0e-8ee7-4d98-a47a-ef186f94e35d", "created_at": "2025-05-22T18:06:06.147372+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "eq", "args": {"values": [1, 1]}}], "actions": [{"op": "set-attribute", "args": {"path": "test", "value": "secret"}, "loop": []}], "links": [{"href": "http://localhost/v1/inspection/44650f0e-8ee7-4d98-a47a-ef186f94e35d", "rel": "self"}, {"href": "http://localhost/inspection/44650f0e-8ee7-4d98-a47a-ef186f94e35d", "rel": "bookmark"}]} GET /v1/inspection_rules/44650f0e-8ee7-4d98-a47a-ef186f94e35d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a33de73-4b0c-4772-8f7d-138de1c4a937 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "44650f0e-8ee7-4d98-a47a-ef186f94e35d", "created_at": "2025-05-22T18:06:06.147372+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "eq", "args": {"values": [1, 1]}}], "actions": [{"op": "set-attribute", "args": {"path": "test", "value": "secret"}, "loop": []}], "links": [{"href": "http://localhost/v1/inspection/44650f0e-8ee7-4d98-a47a-ef186f94e35d", "rel": "self"}, {"href": "http://localhost/inspection/44650f0e-8ee7-4d98-a47a-ef186f94e35d", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.148053s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/77fc2f52-c4bd-4929-94af-845010032965?fields=resource_class,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-014711a3-8b93-4960-bf01-4300a12a306b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"extra": {}, "resource_class": "baremetal", "links": [{"href": "http://localhost/v1/allocations/77fc2f52-c4bd-4929-94af-845010032965", "rel": "self"}, {"href": "http://localhost/allocations/77fc2f52-c4bd-4929-94af-845010032965", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.115026s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-7cb636de-59c5-4390-ad51-50907914e222 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.122390s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1ba56349-3484-4a21-81d6-ad819213b8cb', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/1ba56349-3484-4a21-81d6-ad819213b8cb Openstack-Request-Id: req-d35dd2e2-f32a-4f5d-b7e1-564c0b11a2b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1ba56349-3484-4a21-81d6-ad819213b8cb", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1ba56349-3484-4a21-81d6-ad819213b8cb", "rel": "self"}, {"href": "http://localhost/allocations/1ba56349-3484-4a21-81d6-ad819213b8cb", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/1ba56349-3484-4a21-81d6-ad819213b8cb WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eaaebc4f-82b7-41f7-96aa-3725e0582b9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1ba56349-3484-4a21-81d6-ad819213b8cb", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1ba56349-3484-4a21-81d6-ad819213b8cb", "rel": "self"}, {"href": "http://localhost/allocations/1ba56349-3484-4a21-81d6-ad819213b8cb", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.083671s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-09debee0-d414-4ffa-9a60-6d771061e92b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_get_sensitive_rule_hides_data [0.111615s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/inspection_rules WITH {'uuid': '6a55d323-6be4-4c14-81b0-3c4a44e78cbc', 'description': 'an inspection rule', 'sensitive': True, 'phase': 'main', 'priority': 0, 'actions': [{'op': 'set-attribute', 'args': {'path': 'test', 'value': 'secret'}}], 'conditions': [{'op': 'eq', 'args': {'values': [1, 1]}}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/inspection_rules/6a55d323-6be4-4c14-81b0-3c4a44e78cbc Openstack-Request-Id: req-0e79921c-790a-481b-8074-fabcd83af9e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6a55d323-6be4-4c14-81b0-3c4a44e78cbc", "created_at": "2025-05-22T18:06:06.273870+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": true, "phase": "main", "conditions": null, "actions": null, "links": [{"href": "http://localhost/v1/inspection/6a55d323-6be4-4c14-81b0-3c4a44e78cbc", "rel": "self"}, {"href": "http://localhost/inspection/6a55d323-6be4-4c14-81b0-3c4a44e78cbc", "rel": "bookmark"}]} GET /v1/inspection_rules/6a55d323-6be4-4c14-81b0-3c4a44e78cbc WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6a35fe90-489c-4833-8001-afa34e3103df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6a55d323-6be4-4c14-81b0-3c4a44e78cbc", "created_at": "2025-05-22T18:06:06.273870+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": true, "phase": "main", "conditions": null, "actions": null, "links": [{"href": "http://localhost/v1/inspection/6a55d323-6be4-4c14-81b0-3c4a44e78cbc", "rel": "self"}, {"href": "http://localhost/inspection/6a55d323-6be4-4c14-81b0-3c4a44e78cbc", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.100730s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/2e03130e-1a2a-4619-9c4a-4fb8c718c870 WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.085639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.delete_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-8cb18beb-bd41-417f-b20a-a82f0337c621 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.176919s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b703fc07-3f5e-42a9-bddf-bcee6014261e', 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cb6f41a6-c130-4041-9099-ae2c172af981 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.047424s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89e8debf-4ac0-4da2-a259-6875fcfa86ba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.116464s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/ba!na!na! WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_list_hides_sensitive_data [0.171212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/inspection_rules WITH {'uuid': '85ff12f9-a1a9-4a99-ab60-4faf221c2327', 'description': 'an inspection rule', 'sensitive': True, 'phase': 'main', 'priority': 0, 'actions': [{'op': 'set-attribute', 'args': ['/driver', 'idrac'], 'inspection_rule_id': None}], 'conditions': [{'op': 'is-true', 'args': ['{node.auto_discovered}'], 'multiple': 'any', 'inspection_rule_id': None}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/inspection_rules/85ff12f9-a1a9-4a99-ab60-4faf221c2327 Openstack-Request-Id: req-6585517b-d797-40bd-be65-13c8ca2ec859 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "85ff12f9-a1a9-4a99-ab60-4faf221c2327", "created_at": "2025-05-22T18:06:06.403859+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": true, "phase": "main", "conditions": null, "actions": null, "links": [{"href": "http://localhost/v1/inspection/85ff12f9-a1a9-4a99-ab60-4faf221c2327", "rel": "self"}, {"href": "http://localhost/inspection/85ff12f9-a1a9-4a99-ab60-4faf221c2327", "rel": "bookmark"}]} POST /v1/inspection_rules WITH {'uuid': '8fa752cf-8240-4dfd-9ce1-84d79743ab0d', 'description': 'an inspection rule', 'sensitive': False, 'phase': 'main', 'priority': 0, 'actions': [{'op': 'set-attribute', 'args': ['/driver', 'idrac'], 'inspection_rule_id': None}], 'conditions': [{'op': 'is-true', 'args': ['{node.auto_discovered}'], 'multiple': 'any', 'inspection_rule_id': None}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/inspection_rules/8fa752cf-8240-4dfd-9ce1-84d79743ab0d Openstack-Request-Id: req-5c5b1acd-4c92-43be-b390-cfc21faf5bb5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8fa752cf-8240-4dfd-9ce1-84d79743ab0d", "created_at": "2025-05-22T18:06:06.437181+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "is-true", "args": ["{node.auto_discovered}"]}], "actions": [{"op": "set-attribute", "args": ["/driver", "idrac"], "loop": []}], "links": [{"href": "http://localhost/v1/inspection/8fa752cf-8240-4dfd-9ce1-84d79743ab0d", "rel": "self"}, {"href": "http://localhost/inspection/8fa752cf-8240-4dfd-9ce1-84d79743ab0d", "rel": "bookmark"}]} GET /v1/inspection_rules?detail=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0131bf1a-ec93-4b69-b695-b5e8dfe9d11f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inspection_rules": [{"uuid": "85ff12f9-a1a9-4a99-ab60-4faf221c2327", "created_at": "2025-05-22T18:06:06.403859+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": true, "phase": "main", "conditions": null, "actions": null, "links": [{"href": "http://localhost/v1/inspection/85ff12f9-a1a9-4a99-ab60-4faf221c2327", "rel": "self"}, {"href": "http://localhost/inspection/85ff12f9-a1a9-4a99-ab60-4faf221c2327", "rel": "bookmark"}]}, {"uuid": "8fa752cf-8240-4dfd-9ce1-84d79743ab0d", "created_at": "2025-05-22T18:06:06.437181+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "is-true", "args": ["{node.auto_discovered}"]}], "actions": [{"op": "set-attribute", "args": ["/driver", "idrac"], "loop": []}], "links": [{"href": "http://localhost/v1/inspection/8fa752cf-8240-4dfd-9ce1-84d79743ab0d", "rel": "self"}, {"href": "http://localhost/inspection/8fa752cf-8240-4dfd-9ce1-84d79743ab0d", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.050883s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-66527e72-3b4f-4ea3-97d6-81d95c3f8787 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.050161s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fcb1908f-006a-47ed-84b5-34804449d002 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.038378s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'INVALID_MAC_ADDRESS', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3c5f5739-4384-4d39-9a86-33e6dcf554b8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestListInspectionRules.test_one [0.110981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/inspection_rules WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-399e87ea-84a9-4bac-80cd-87646f527bb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inspection_rules": [{"uuid": "fc06dd23-e5c0-4086-9ce3-726597b21680", "description": "an inspection rule", "priority": 0, "phase": "main", "links": [{"href": "http://localhost/v1/inspection/fc06dd23-e5c0-4086-9ce3-726597b21680", "rel": "self"}, {"href": "http://localhost/inspection/fc06dd23-e5c0-4086-9ce3-726597b21680", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.203164s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '9ad50175-71c3-46a8-bab1-9059bb4b78b2', 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3849b18f-342d-424e-bad0-8b80ac6110b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.048690s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c6f0c6c1-5196-4450-bc71-d4e5c9f28e46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_double_json_in_name [0.193531s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/af978481-22f9-4e8b-832c-1941da379152 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae6f0652-6bb1-4330-a51b-68cc34095fa2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "af978481-22f9-4e8b-832c-1941da379152", "created_at": "2025-05-22T18:06:06.555168+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "pg.json.json", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/af978481-22f9-4e8b-832c-1941da379152", "rel": "self"}, {"href": "http://localhost/allocations/af978481-22f9-4e8b-832c-1941da379152", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.069818s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f82e0fa-8731-4b5a-b4db-2428a30fb487 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.066242s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-c30e06f6-85f0-4e87-8d9b-7a38591c33e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.158672s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8cb4d67a-de79-410a-8c78-9508bc753a8e', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/8cb4d67a-de79-410a-8c78-9508bc753a8e Openstack-Request-Id: req-ba4061bb-897e-4668-a6c3-b948c5e4c357 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8cb4d67a-de79-410a-8c78-9508bc753a8e", "created_at": "2025-05-22T18:06:06.721134+00:00", "updated_at": null, "candidate_nodes": [], "extra": {"foo": 123}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8cb4d67a-de79-410a-8c78-9508bc753a8e", "rel": "self"}, {"href": "http://localhost/allocations/8cb4d67a-de79-410a-8c78-9508bc753a8e", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/8cb4d67a-de79-410a-8c78-9508bc753a8e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9f6086a4-f389-40f1-9be2-c5f392320af6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8cb4d67a-de79-410a-8c78-9508bc753a8e", "created_at": "2025-05-22T18:06:06.721134+00:00", "updated_at": null, "candidate_nodes": [], "extra": {"foo": 123}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8cb4d67a-de79-410a-8c78-9508bc753a8e", "rel": "self"}, {"href": "http://localhost/allocations/8cb4d67a-de79-410a-8c78-9508bc753a8e", "rel": "bookmark"}], "node_uuid": null} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.191680s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f78d8b6b-9583-440c-8cba-22ecc1b87b5c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"bios": [{"created_at": "2025-05-22T18:06:06.709131+00:00", "updated_at": null, "name": "virtualization", "value": "on", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.056807s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c490d6fe-646e-4526-8554-5ad5cad1be98 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.197121s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/10b41ec8-b635-478d-b7c3-ef52362dd458.json WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff65c72c-2af0-46b8-8908-473af7bcc9f7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "10b41ec8-b635-478d-b7c3-ef52362dd458", "created_at": "2025-05-22T18:06:06.729409+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/10b41ec8-b635-478d-b7c3-ef52362dd458", "rel": "self"}, {"href": "http://localhost/allocations/10b41ec8-b635-478d-b7c3-ef52362dd458", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_child_node [0.041357s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.135374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'dfa0852b-7b04-4d58-a4be-23827b5093ad', 'owner': None} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0e2c736d-be75-433b-942d-2056767d10e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_child_node_list [0.048265s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.035212s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.143599s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-152026cb-234c-4c1b-bf16-9077b5bd5fe4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"bios": [{"created_at": "2025-05-22T18:06:06.871464+00:00", "updated_at": null, "name": "virtualization", "value": "on", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.031475s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.034396s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.170481s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/e4b0819b-20e4-4c70-a3c1-25fff3bd9f4e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-604a6f58-4de5-4eca-8455-e489a36e6baa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e4b0819b-20e4-4c70-a3c1-25fff3bd9f4e", "created_at": "2025-05-22T18:06:06.940423+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "pg.json", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e4b0819b-20e4-4c70-a3c1-25fff3bd9f4e", "rel": "self"}, {"href": "http://localhost/allocations/e4b0819b-20e4-4c70-a3c1-25fff3bd9f4e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.148151s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/09eba5c8-4cff-46ef-a52d-4734026532cf Openstack-Request-Id: req-14bad26d-946f-4f5a-a106-b0f795a18f78 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "09eba5c8-4cff-46ef-a52d-4734026532cf", "created_at": "2025-05-22T18:06:07.015025+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/09eba5c8-4cff-46ef-a52d-4734026532cf", "rel": "self"}, {"href": "http://localhost/allocations/09eba5c8-4cff-46ef-a52d-4734026532cf", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/09eba5c8-4cff-46ef-a52d-4734026532cf WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef090490-6bd1-4ff1-8d63-210c2b604c91 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "09eba5c8-4cff-46ef-a52d-4734026532cf", "created_at": "2025-05-22T18:06:07.015025+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/09eba5c8-4cff-46ef-a52d-4734026532cf", "rel": "self"}, {"href": "http://localhost/allocations/09eba5c8-4cff-46ef-a52d-4734026532cf", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.050026s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.135121s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6cdf5940-df0c-4a04-888e-ba9f8ed0e0ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.73 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.038337s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.086244s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'be983e1f-6c3e-4f61-b843-d762fa205527', 'owner': None} GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_not_found [0.147578s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/fe02a707-061b-4be4-8acb-f0aa046d5328.json WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2176d016-ffb3-47ee-aeec-38e013f723b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation fe02a707-061b-4be4-8acb-f0aa046d5328.json could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.077677s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.093297s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.068275s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.101221s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '20071fe5-01b9-407d-aa55-20e82e47c039', 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-91e4ec7e-f053-474f-87df-d42052398edb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.041658s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.105211s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '71d4dbf8-1a0d-4ede-9eff-1698adde1428', 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bb23c495-3aef-42b2-b9dc-aae7dd311f35 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' is not valid under any of the given schemas. Possible root cause: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.068632s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.095941s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.113772s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': '54dad27d-62a1-4888-98e2-1a31554a6f2a', 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-de23cf7a-02a9-4968-8167-1aa4a5dd3403 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test_check__check_steps_wrappers [0.073460s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.127177s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'e66f1a3f-732c-4125-aee5-46c55cde11ab', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/e66f1a3f-732c-4125-aee5-46c55cde11ab Openstack-Request-Id: req-ced29e96-6bf9-422e-97ce-4b3ddd5ef548 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e66f1a3f-732c-4125-aee5-46c55cde11ab", "created_at": "2025-05-22T18:06:07.551194+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "foo", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e66f1a3f-732c-4125-aee5-46c55cde11ab", "rel": "self"}, {"href": "http://localhost/allocations/e66f1a3f-732c-4125-aee5-46c55cde11ab", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/e66f1a3f-732c-4125-aee5-46c55cde11ab WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-00313fe5-dc25-412e-af5b-1ebcb0911814 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e66f1a3f-732c-4125-aee5-46c55cde11ab", "created_at": "2025-05-22T18:06:07.551194+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "foo", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e66f1a3f-732c-4125-aee5-46c55cde11ab", "rel": "self"}, {"href": "http://localhost/allocations/e66f1a3f-732c-4125-aee5-46c55cde11ab", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeFirmwareComponent.test_get_all_firmware_components [0.113371s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba1b594b-8464-4793-b576-d5fe037fbe3a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.86 {"firmware": [{"created_at": "2025-05-22T18:06:07.585910+00:00", "updated_at": null, "component": "BIOS", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}, {"created_at": "2025-05-22T18:06:07.579385+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.088430s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': '8e8e6a74-03ba-4dd8-9139-339e281fea19', 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-acfe129e-0517-47a5-86ad-16586eada7ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource_class field is mandatory when not backfilling\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.543218s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/1dcf9ecc-69e3-486b-b941-faa9f82d92c1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a22b007e-44e3-4c8c-ad94-7202b5658e69 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1dcf9ecc-69e3-486b-b941-faa9f82d92c1", "created_at": "2025-05-22T18:06:07.675779+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "pg.1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1dcf9ecc-69e3-486b-b941-faa9f82d92c1", "rel": "self"}, {"href": "http://localhost/allocations/1dcf9ecc-69e3-486b-b941-faa9f82d92c1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeFirmwareComponent.test_wrong_version_get_all_firmware_components_old_version [0.077376s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.618132s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c09e035c-5ff9-415a-9a33-170c12c48060 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"bios": [{"created_at": "2025-05-22T18:06:07.241425+00:00", "updated_at": null, "name": "virtualization", "value": "on", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.096412s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/db3002a0-037f-4e6e-b2b2-7e857e1fd55c?fields=owner WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-907ce9f3-06ab-4620-8a04-37157ffe94f9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"owner": "12345", "links": [{"href": "http://localhost/v1/allocations/db3002a0-037f-4e6e-b2b2-7e857e1fd55c", "rel": "self"}, {"href": "http://localhost/allocations/db3002a0-037f-4e6e-b2b2-7e857e1fd55c", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.134688s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '3ef660e5-0176-4092-b001-4c0bb8dba93b', 'owner': '12345'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/3ef660e5-0176-4092-b001-4c0bb8dba93b Openstack-Request-Id: req-868b01e7-10e7-411f-bd28-14277369094c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3ef660e5-0176-4092-b001-4c0bb8dba93b", "created_at": "2025-05-22T18:06:07.784313+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3ef660e5-0176-4092-b001-4c0bb8dba93b", "rel": "self"}, {"href": "http://localhost/allocations/3ef660e5-0176-4092-b001-4c0bb8dba93b", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/3ef660e5-0176-4092-b001-4c0bb8dba93b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b59a003c-c6d0-41f4-a3e2-5f96e4c9fe5d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3ef660e5-0176-4092-b001-4c0bb8dba93b", "created_at": "2025-05-22T18:06:07.784313+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3ef660e5-0176-4092-b001-4c0bb8dba93b", "rel": "self"}, {"href": "http://localhost/allocations/3ef660e5-0176-4092-b001-4c0bb8dba93b", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.165757s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-56a27a84-bc5b-4eed-9553-d7e984a372a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "9c699bae-58f7-4e3b-b697-bc85cc10a911", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/9c699bae-58f7-4e3b-b697-bc85cc10a911", "rel": "self"}, {"href": "http://localhost/ports/9c699bae-58f7-4e3b-b697-bc85cc10a911", "rel": "bookmark"}]}, {"uuid": "a0588cfc-232a-40eb-9c2a-08f94b3e0d14", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/a0588cfc-232a-40eb-9c2a-08f94b3e0d14", "rel": "self"}, {"href": "http://localhost/ports/a0588cfc-232a-40eb-9c2a-08f94b3e0d14", "rel": "bookmark"}]}, {"uuid": "94560997-dcb7-4e5c-8607-4da4e53bf4a5", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/94560997-dcb7-4e5c-8607-4da4e53bf4a5", "rel": "self"}, {"href": "http://localhost/ports/94560997-dcb7-4e5c-8607-4da4e53bf4a5", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=94560997-dcb7-4e5c-8607-4da4e53bf4a5"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.096973s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True?fields=name,read_only WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-42cb7039-9b37-4e4e-bf16-9ec73686b04f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid detail: Unrecognized value 'True?fields=name,read_only', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.127433s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/7e6bae93-a453-4638-844b-44c80394c902 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e3640379-0f71-43e5-881f-70b6266a1171 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7e6bae93-a453-4638-844b-44c80394c902", "created_at": "2025-05-22T18:06:07.849404+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7e6bae93-a453-4638-844b-44c80394c902", "rel": "self"}, {"href": "http://localhost/allocations/7e6bae93-a453-4638-844b-44c80394c902", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/allocations/7e6bae93-a453-4638-844b-44c80394c902 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5bcbd727-b9ec-458f-96ee-7777eec1444b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7e6bae93-a453-4638-844b-44c80394c902", "created_at": "2025-05-22T18:06:07.849404+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7e6bae93-a453-4638-844b-44c80394c902", "rel": "self"}, {"href": "http://localhost/allocations/7e6bae93-a453-4638-844b-44c80394c902", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /allocations/7e6bae93-a453-4638-844b-44c80394c902 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c91fce08-283d-405e-be04-9ad91132ee34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7e6bae93-a453-4638-844b-44c80394c902", "created_at": "2025-05-22T18:06:07.849404+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/7e6bae93-a453-4638-844b-44c80394c902", "rel": "self"}, {"href": "http://localhost/allocations/7e6bae93-a453-4638-844b-44c80394c902", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.122156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ff702a8a-1e1b-4c7d-8bfb-39569d0211de', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/ff702a8a-1e1b-4c7d-8bfb-39569d0211de Openstack-Request-Id: req-123a3380-d00a-4d3f-b973-0bc63b4a7754 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ff702a8a-1e1b-4c7d-8bfb-39569d0211de", "created_at": "2025-05-22T18:06:07.912890+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "123456", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ff702a8a-1e1b-4c7d-8bfb-39569d0211de", "rel": "self"}, {"href": "http://localhost/allocations/ff702a8a-1e1b-4c7d-8bfb-39569d0211de", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/ff702a8a-1e1b-4c7d-8bfb-39569d0211de WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-594036d8-7f00-438c-86b1-969fc50074f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ff702a8a-1e1b-4c7d-8bfb-39569d0211de", "created_at": "2025-05-22T18:06:07.912890+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "123456", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ff702a8a-1e1b-4c7d-8bfb-39569d0211de", "rel": "self"}, {"href": "http://localhost/allocations/ff702a8a-1e1b-4c7d-8bfb-39569d0211de", "rel": "bookmark"}], "node_uuid": null} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.125031s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-490597ff-9377-462a-839b-cb6c3924eca9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"bios": [{"created_at": "2025-05-22T18:06:07.979717+00:00", "updated_at": null, "name": "virtualization", "read_only": false, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.084181s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f9e743db-4290-491b-ab90-042bfae8dfcf', 'owner': '12345'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-438ed48b-65f5-4d09-a4ec-c65c2c78b485 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.166962s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?fields=address,uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c47baaf6-ec73-4821-9ffb-afdd5d8470d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "aa141f81-489b-4abf-816d-06509372ae8a", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/aa141f81-489b-4abf-816d-06509372ae8a", "rel": "self"}, {"href": "http://localhost/ports/aa141f81-489b-4abf-816d-06509372ae8a", "rel": "bookmark"}]}, {"uuid": "0c306ea8-4e24-48ca-bae5-1bef59efd50c", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/0c306ea8-4e24-48ca-bae5-1bef59efd50c", "rel": "self"}, {"href": "http://localhost/ports/0c306ea8-4e24-48ca-bae5-1bef59efd50c", "rel": "bookmark"}]}, {"uuid": "f70965bd-a5cd-4e26-bbf9-d7c766e842b9", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/f70965bd-a5cd-4e26-bbf9-d7c766e842b9", "rel": "self"}, {"href": "http://localhost/ports/f70965bd-a5cd-4e26-bbf9-d7c766e842b9", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=f70965bd-a5cd-4e26-bbf9-d7c766e842b9"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.137222s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-90fbb9c2-86a5-4ed3-93b6-618ebabfbd19 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "028bed54-0c6a-422e-8cbd-0412539d33c3", "created_at": "2025-05-22T18:06:07.993135+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/028bed54-0c6a-422e-8cbd-0412539d33c3", "rel": "self"}, {"href": "http://localhost/allocations/028bed54-0c6a-422e-8cbd-0412539d33c3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "789f529f-0b5b-4503-a252-8aefad2295f1", "created_at": "2025-05-22T18:06:07.995620+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/789f529f-0b5b-4503-a252-8aefad2295f1", "rel": "self"}, {"href": "http://localhost/allocations/789f529f-0b5b-4503-a252-8aefad2295f1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "5a08f345-5180-469e-944b-36fb0fd65a89", "created_at": "2025-05-22T18:06:07.996915+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5a08f345-5180-469e-944b-36fb0fd65a89", "rel": "self"}, {"href": "http://localhost/allocations/5a08f345-5180-469e-944b-36fb0fd65a89", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "5c1bd8ee-3289-4991-b499-cf6fc0428d87", "created_at": "2025-05-22T18:06:08.003355+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation3", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5c1bd8ee-3289-4991-b499-cf6fc0428d87", "rel": "self"}, {"href": "http://localhost/allocations/5c1bd8ee-3289-4991-b499-cf6fc0428d87", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "8024c516-d559-46c6-9670-bd8414725e0e", "created_at": "2025-05-22T18:06:08.006249+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation4", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8024c516-d559-46c6-9670-bd8414725e0e", "rel": "self"}, {"href": "http://localhost/allocations/8024c516-d559-46c6-9670-bd8414725e0e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.110393s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d869fd84-7b53-46d9-b21e-b9e435867525 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.73 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?fields=['name', 'read_only'] received.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.099309s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b2adf72e-22f5-45e2-8840-4cf04d4beac9', 'owner': '12345'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-295bda68-aeab-4b13-a8ee-df4004c48ba6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with an owner Project ID value 12345 not matching the requester Project ID 0987. Policy baremetal:allocation:create_restricted is required for this capability.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.127888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95b5271b-e0ac-41f5-9802-da64950fc811 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "26a4cc81-1e74-4771-aad3-09c5f020306c", "created_at": "2025-05-22T18:06:08.153588+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/26a4cc81-1e74-4771-aad3-09c5f020306c", "rel": "self"}, {"href": "http://localhost/allocations/26a4cc81-1e74-4771-aad3-09c5f020306c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.177317s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-190cdc95-2da7-4277-93e3-bf9d0666701d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "a4719e8d-596d-4b95-bfc5-bd9f15ad3c57", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/a4719e8d-596d-4b95-bfc5-bd9f15ad3c57", "rel": "self"}, {"href": "http://localhost/ports/a4719e8d-596d-4b95-bfc5-bd9f15ad3c57", "rel": "bookmark"}]}, {"uuid": "19cd4764-d5a8-4d3d-834d-0bc3d4239801", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/19cd4764-d5a8-4d3d-834d-0bc3d4239801", "rel": "self"}, {"href": "http://localhost/ports/19cd4764-d5a8-4d3d-834d-0bc3d4239801", "rel": "bookmark"}]}, {"uuid": "ff398228-e135-4dfd-a2c7-a3e0120a7d53", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/ff398228-e135-4dfd-a2c7-a3e0120a7d53", "rel": "self"}, {"href": "http://localhost/ports/ff398228-e135-4dfd-a2c7-a3e0120a7d53", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=ff398228-e135-4dfd-a2c7-a3e0120a7d53"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.091765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': '7adc1223-e500-49bd-8222-38c6a24cb9e4', 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93774946-4290-40ba-ac9f-fc93be116572 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.137896s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28365f55-71e9-40d4-9846-46aaff76891b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"virtualization": {"created_at": "2025-05-22T18:06:08.218608+00:00", "updated_at": null, "name": "virtualization", "value": "on", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.115222s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22d5773a-8f91-4cbf-ade3-e32bf4e7ee16 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "2927c384-dde2-4913-a4ec-6e143bcca26b", "created_at": "2025-05-22T18:06:08.243295+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation0", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2927c384-dde2-4913-a4ec-6e143bcca26b", "rel": "self"}, {"href": "http://localhost/allocations/2927c384-dde2-4913-a4ec-6e143bcca26b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "31a2f035-e7ba-49f8-b3c2-3b6457c58acd", "created_at": "2025-05-22T18:06:08.244217+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/31a2f035-e7ba-49f8-b3c2-3b6457c58acd", "rel": "self"}, {"href": "http://localhost/allocations/31a2f035-e7ba-49f8-b3c2-3b6457c58acd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "cf17e8d3-9be0-4709-825f-0313e0774db0", "created_at": "2025-05-22T18:06:08.245110+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/cf17e8d3-9be0-4709-825f-0313e0774db0", "rel": "self"}, {"href": "http://localhost/allocations/cf17e8d3-9be0-4709-825f-0313e0774db0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.102753s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f3d60d42-a1eb-41a4-a2b3-917a10e7e5df', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/f3d60d42-a1eb-41a4-a2b3-917a10e7e5df Openstack-Request-Id: req-70eb6586-dd80-4b80-a8da-2abbe5adfef8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "f3d60d42-a1eb-41a4-a2b3-917a10e7e5df", "created_at": "2025-05-22T18:06:08.307394+00:00", "updated_at": null, "candidate_nodes": [], "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f3d60d42-a1eb-41a4-a2b3-917a10e7e5df", "rel": "self"}, {"href": "http://localhost/allocations/f3d60d42-a1eb-41a4-a2b3-917a10e7e5df", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/f3d60d42-a1eb-41a4-a2b3-917a10e7e5df WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b9f9f6ce-f000-4586-920c-00fb1d34f35a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "f3d60d42-a1eb-41a4-a2b3-917a10e7e5df", "created_at": "2025-05-22T18:06:08.307394+00:00", "updated_at": null, "candidate_nodes": [], "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f3d60d42-a1eb-41a4-a2b3-917a10e7e5df", "rel": "self"}, {"href": "http://localhost/allocations/f3d60d42-a1eb-41a4-a2b3-917a10e7e5df", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.137440s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9ec4b88d-9b82-4a41-9120-7d0cd2e6fee0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:08.311072+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": true, "local_link_connection": {"switch_info": "switch", "switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Gig0/1"}, "physical_network": "physnet1", "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.129146s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/fake_setting WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d584eb27-223b-45c2-917d-a210ac26922f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.110976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?sort_key=name WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de5ba4c5-fe60-49ba-b7a8-677488d5dbb1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "e43ac4eb-dd04-454d-8e2a-49e82fbcc2ac", "created_at": "2025-05-22T18:06:08.376141+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation1", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e43ac4eb-dd04-454d-8e2a-49e82fbcc2ac", "rel": "self"}, {"href": "http://localhost/allocations/e43ac4eb-dd04-454d-8e2a-49e82fbcc2ac", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "c86b766a-9d78-468d-91f2-f051c06461fc", "created_at": "2025-05-22T18:06:08.375303+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation2", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c86b766a-9d78-468d-91f2-f051c06461fc", "rel": "self"}, {"href": "http://localhost/allocations/c86b766a-9d78-468d-91f2-f051c06461fc", "rel": "bookmark"}], "node_uuid": null}, {"uuid": "c04b02a8-d8e0-4aed-a4ee-aa8253248bfa", "created_at": "2025-05-22T18:06:08.374059+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "allocation3", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c04b02a8-d8e0-4aed-a4ee-aa8253248bfa", "rel": "self"}, {"href": "http://localhost/allocations/c04b02a8-d8e0-4aed-a4ee-aa8253248bfa", "rel": "bookmark"}], "node_uuid": null}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.114989s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-21dfd1ec-d267-457c-9833-99a9a09cadc5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.159579s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': ['node-1', 'f5d89744-9fb3-4aae-a6f9-b05d75fc816a'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a89610bb-70ce-41fc-be9c-b18c77033f2e', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/a89610bb-70ce-41fc-be9c-b18c77033f2e Openstack-Request-Id: req-5b90ba7d-6138-4802-9229-d11f0cf6ee5b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a89610bb-70ce-41fc-be9c-b18c77033f2e", "created_at": "2025-05-22T18:06:08.472827+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "f5d89744-9fb3-4aae-a6f9-b05d75fc816a"], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a89610bb-70ce-41fc-be9c-b18c77033f2e", "rel": "self"}, {"href": "http://localhost/allocations/a89610bb-70ce-41fc-be9c-b18c77033f2e", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/a89610bb-70ce-41fc-be9c-b18c77033f2e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3da5a24e-e8a7-46f1-b476-023696d4a92d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a89610bb-70ce-41fc-be9c-b18c77033f2e", "created_at": "2025-05-22T18:06:08.472827+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "f5d89744-9fb3-4aae-a6f9-b05d75fc816a"], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a89610bb-70ce-41fc-be9c-b18c77033f2e", "rel": "self"}, {"href": "http://localhost/allocations/a89610bb-70ce-41fc-be9c-b18c77033f2e", "rel": "bookmark"}], "node_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.096859s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4110d100-0344-4360-978c-9b68bd205346 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/allocations?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6d43d4d5-7541-4304-a129-a814ab1bc1c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/allocations?sort_key=internal_info WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7a6be50-621f-4cb4-b681-6b993348ccf0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"internal_info\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/allocations?sort_key=properties WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-26cad623-7ac3-40fa-b148-58ca52a0722f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.090625s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?node=test-node WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f91207a2-d8ef-403f-8188-38c16f4173f7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.176275s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.101119s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aa788750-52e6-4e90-8841-c4978d630701 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": [{"uuid": "4fafef76-a089-42ce-ba19-bf6cd69f6c8f", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/4fafef76-a089-42ce-ba19-bf6cd69f6c8f", "rel": "self"}, {"href": "http://localhost/chassis/4fafef76-a089-42ce-ba19-bf6cd69f6c8f", "rel": "bookmark"}]}, {"uuid": "a9ffbb48-68cb-46a2-b70d-dee62d620f98", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/a9ffbb48-68cb-46a2-b70d-dee62d620f98", "rel": "self"}, {"href": "http://localhost/chassis/a9ffbb48-68cb-46a2-b70d-dee62d620f98", "rel": "bookmark"}]}, {"uuid": "e53834b7-df2c-46b5-93c2-d9e0d37ad465", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e53834b7-df2c-46b5-93c2-d9e0d37ad465", "rel": "self"}, {"href": "http://localhost/chassis/e53834b7-df2c-46b5-93c2-d9e0d37ad465", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=e53834b7-df2c-46b5-93c2-d9e0d37ad465"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.122420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '75618758-58ee-498b-9ece-69025808f9ed', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/75618758-58ee-498b-9ece-69025808f9ed Openstack-Request-Id: req-bcc87b2e-e0da-48ea-8d9c-6f961c521781 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "75618758-58ee-498b-9ece-69025808f9ed", "created_at": "2025-05-22T18:06:08.615034+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/75618758-58ee-498b-9ece-69025808f9ed", "rel": "self"}, {"href": "http://localhost/allocations/75618758-58ee-498b-9ece-69025808f9ed", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.107491s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ca9667a-4db1-4c8c-b0c7-16e5842764c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:08.635833+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.106915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?fields=extra,uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0f405a9-d8f7-4acc-978e-bc0e54627276 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "9df3aec7-0479-4625-9490-dd7781b2f7de", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9df3aec7-0479-4625-9490-dd7781b2f7de", "rel": "self"}, {"href": "http://localhost/chassis/9df3aec7-0479-4625-9490-dd7781b2f7de", "rel": "bookmark"}]}, {"uuid": "ca52b273-cd9f-4ea5-9e3d-743ddfdaab7b", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/ca52b273-cd9f-4ea5-9e3d-743ddfdaab7b", "rel": "self"}, {"href": "http://localhost/chassis/ca52b273-cd9f-4ea5-9e3d-743ddfdaab7b", "rel": "bookmark"}]}, {"uuid": "02bc942e-4a1a-405f-9220-b20e122c9c1e", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/02bc942e-4a1a-405f-9220-b20e122c9c1e", "rel": "self"}, {"href": "http://localhost/chassis/02bc942e-4a1a-405f-9220-b20e122c9c1e", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=02bc942e-4a1a-405f-9220-b20e122c9c1e"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.170350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27ff8737-1c63-4c5d-bdf1-6cd74389bcc9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.73 {"virtualization": {"created_at": "2025-05-22T18:06:08.685987+00:00", "updated_at": null, "name": "virtualization", "value": "on", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization", "rel": "bookmark"}]}} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.126298s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': '350246cf-aa95-4db7-b8a8-4e4bc62036ae', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/350246cf-aa95-4db7-b8a8-4e4bc62036ae Openstack-Request-Id: req-ef71d3a8-9eb9-46c5-9f77-479f2cd3add4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "350246cf-aa95-4db7-b8a8-4e4bc62036ae", "created_at": "2025-05-22T18:06:08.722458+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "links": [{"href": "http://localhost/v1/allocations/350246cf-aa95-4db7-b8a8-4e4bc62036ae", "rel": "self"}, {"href": "http://localhost/allocations/350246cf-aa95-4db7-b8a8-4e4bc62036ae", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/350246cf-aa95-4db7-b8a8-4e4bc62036ae WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4e2dc33-40fe-42f6-80eb-e3724b6cceb5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "350246cf-aa95-4db7-b8a8-4e4bc62036ae", "created_at": "2025-05-22T18:06:08.722458+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "0987", "resource_class": "baremetal", "state": "allocating", "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "links": [{"href": "http://localhost/v1/allocations/350246cf-aa95-4db7-b8a8-4e4bc62036ae", "rel": "self"}, {"href": "http://localhost/allocations/350246cf-aa95-4db7-b8a8-4e4bc62036ae", "rel": "bookmark"}], "node_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.082343s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8fc4dbda-5d5a-4285-9492-c8a4236ed48c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": [{"uuid": "e18da2db-a30b-48b1-8231-7ec46ac333ab", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e18da2db-a30b-48b1-8231-7ec46ac333ab", "rel": "self"}, {"href": "http://localhost/chassis/e18da2db-a30b-48b1-8231-7ec46ac333ab", "rel": "bookmark"}]}, {"uuid": "b1fea6e0-8aa3-46e3-ba90-4b5b52a96595", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/b1fea6e0-8aa3-46e3-ba90-4b5b52a96595", "rel": "self"}, {"href": "http://localhost/chassis/b1fea6e0-8aa3-46e3-ba90-4b5b52a96595", "rel": "bookmark"}]}, {"uuid": "a54df888-77f8-4902-898f-7d9439396c99", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/a54df888-77f8-4902-898f-7d9439396c99", "rel": "self"}, {"href": "http://localhost/chassis/a54df888-77f8-4902-898f-7d9439396c99", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=a54df888-77f8-4902-898f-7d9439396c99"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.131764s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd3bb3a2-dacb-4821-b2cf-1f7932c990e9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:08.760933+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_info": "switch", "switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Gig0/1"}, "physical_network": "physnet1", "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.094900s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0c679b11-70d7-43b3-97b6-699b1b608991', 'owner': None} GOT Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_get_child_node [0.109584s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/children WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-257fb3d3-2e14-44e9-b28c-c449f2dfef47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"children": ["cff951ca-72ec-4c81-a187-f287e4f06669"], "links": {"href": "http://localhost/v1/nodes?parent_node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "children"}} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.081361s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3773a643-f4c5-456d-bb92-c315b00ede8a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:08.859405+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.112045s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f828474-e714-4dcf-b328-220cdca79faf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} GET /v1/ports?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-98cb9c6f-da88-4ef1-98ea-7bea5e2734cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.063473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5a27ce41-c854-4414-b4c5-b6294762a595 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.117845s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b942f92f-b04e-42cc-bd74-a3f008b507aa', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-74a116fe-49e3-4a8f-88b0-4989bf3bfa3e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected)\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_node_children_by_single_node [0.132507s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/children WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db3c3f5f-5205-42c7-b09b-e2ce5ce1304e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"children": ["9b934740-6468-4ff0-b257-540b169be2fd", "8ace86c3-8f38-4bb7-857d-7dc3d747297a"], "links": {"href": "http://localhost/v1/nodes?parent_node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "children"}} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.102695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-99b48609-290b-4828-b2d3-90fbdf7fdb80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:09.023967+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.146159s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?sort_key=pxe_enabled WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-81267493-adaf-4945-beed-6965b863c13b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "9ba5be7c-560c-4297-8f8e-f065fe14c67d", "created_at": "2025-05-22T18:06:08.993376+00:00", "updated_at": null, "address": "52:54:00:cf:2d:30", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/9ba5be7c-560c-4297-8f8e-f065fe14c67d", "rel": "self"}, {"href": "http://localhost/ports/9ba5be7c-560c-4297-8f8e-f065fe14c67d", "rel": "bookmark"}], "portgroup_uuid": null}, {"uuid": "6690db1c-ce69-48cc-abc0-ca6e6763688b", "created_at": "2025-05-22T18:06:09.015590+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/6690db1c-ce69-48cc-abc0-ca6e6763688b", "rel": "self"}, {"href": "http://localhost/ports/6690db1c-ce69-48cc-abc0-ca6e6763688b", "rel": "bookmark"}], "portgroup_uuid": null}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.115065s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1e62446b-4f25-45d6-bc82-6554bcb97d4e', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/1e62446b-4f25-45d6-bc82-6554bcb97d4e Openstack-Request-Id: req-2a8dede6-cec8-4f04-aec6-ef9c1453f901 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "1e62446b-4f25-45d6-bc82-6554bcb97d4e", "created_at": "2025-05-22T18:06:09.064255+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1e62446b-4f25-45d6-bc82-6554bcb97d4e", "rel": "self"}, {"href": "http://localhost/allocations/1e62446b-4f25-45d6-bc82-6554bcb97d4e", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/1e62446b-4f25-45d6-bc82-6554bcb97d4e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2713eaf-ecd6-4e40-a5b4-b35899e78a12 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "1e62446b-4f25-45d6-bc82-6554bcb97d4e", "created_at": "2025-05-22T18:06:09.064255+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1e62446b-4f25-45d6-bc82-6554bcb97d4e", "rel": "self"}, {"href": "http://localhost/allocations/1e62446b-4f25-45d6-bc82-6554bcb97d4e", "rel": "bookmark"}], "node_uuid": null} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes [0.113920s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1523db4a-59ba-44c9-a6d2-96a0f14a5465 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "din", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.099926s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-520c73e6-001c-40bb-8f13-9acc41e5b3ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} GET /v1/chassis?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43f24940-5abd-4b62-b29e-c0b2ac3c07c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.080366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?sort_key=pxe_enabled WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8203bd71-c656-4c43-b60a-bf5e468e1bd6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.110177s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ae56c52d-60de-4722-8253-dc9cec9dbf39', 'owner': None} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-37448f46-a353-49cc-93a1-002549af4274 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.066910s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?detail=True&fields=description WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a6285fc-2d29-49fe-8a29-213c491c3ef2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.087885s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?detail=True&fields=name WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6d8c4d38-e840-45d2-8bc1-c39c172ed921 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.053665s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2605a8d6-4b41-4d7e-9d0c-3c951133aff9', 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/2605a8d6-4b41-4d7e-9d0c-3c951133aff9 Openstack-Request-Id: req-2163bf90-73be-4ebc-a7ea-d40a39a8fa96 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "2605a8d6-4b41-4d7e-9d0c-3c951133aff9", "created_at": "2025-05-22T18:06:09.235878+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2605a8d6-4b41-4d7e-9d0c-3c951133aff9", "rel": "self"}, {"href": "http://localhost/allocations/2605a8d6-4b41-4d7e-9d0c-3c951133aff9", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/2605a8d6-4b41-4d7e-9d0c-3c951133aff9 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-13ab9f97-bd6d-40b8-8251-fcb2c7e55c54 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "2605a8d6-4b41-4d7e-9d0c-3c951133aff9", "created_at": "2025-05-22T18:06:09.235878+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2605a8d6-4b41-4d7e-9d0c-3c951133aff9", "rel": "self"}, {"href": "http://localhost/allocations/2605a8d6-4b41-4d7e-9d0c-3c951133aff9", "rel": "bookmark"}], "node_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.074069s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?detail=False&fields=description WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f9a18f45-a226-4a4f-b679-9722a12d8a04 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.091700s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?detail=False&fields=internal_info WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-701f55e8-c9f5-416c-b77d-58727d0f9e51 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"internal_info": {"bar": "buzz"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.078316s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?detail=True WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cc1fabd8-d452-42aa-8abc-21505c46e51d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_cannot_see_children_if_not_owned [0.256212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/?parent_node=eea7c869-5428-47e6-b977-1257c81a4c6e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2033cff3-3c26-412d-8573-3c12368ed2c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"nodes": []} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.102303s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?detail=True WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a9de260b-dd57-44e2-957f-b60972a8787f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.080230s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9eff396f-e548-4d6f-a94e-842d71968a33 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": []} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.072490s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-682b835e-d1f1-4ded-894f-f61c6d4e1a99 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": []} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.072448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cee97253-55b8-49fa-bbea-6ac313148ad8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "014c6786-149a-4938-aa2f-5c6c68273b71", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/014c6786-149a-4938-aa2f-5c6c68273b71", "rel": "self"}, {"href": "http://localhost/chassis/014c6786-149a-4938-aa2f-5c6c68273b71", "rel": "bookmark"}]}, {"uuid": "fc8eb8b1-2803-4e3e-b361-69d7a9076b23", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/fc8eb8b1-2803-4e3e-b361-69d7a9076b23", "rel": "self"}, {"href": "http://localhost/chassis/fc8eb8b1-2803-4e3e-b361-69d7a9076b23", "rel": "bookmark"}]}, {"uuid": "6fc0874b-c120-4f8f-9251-177ce4d84766", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/6fc0874b-c120-4f8f-9251-177ce4d84766", "rel": "self"}, {"href": "http://localhost/chassis/6fc0874b-c120-4f8f-9251-177ce4d84766", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.322369s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '713aef51-9fd8-4d96-9e06-c25e4eec10f8'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/713aef51-9fd8-4d96-9e06-c25e4eec10f8 Openstack-Request-Id: req-70717cb6-c142-4355-8d5e-5c747209bf22 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"uuid": "713aef51-9fd8-4d96-9e06-c25e4eec10f8", "created_at": "2025-05-22T18:06:09.564933+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/713aef51-9fd8-4d96-9e06-c25e4eec10f8", "rel": "self"}, {"href": "http://localhost/allocations/713aef51-9fd8-4d96-9e06-c25e4eec10f8", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/713aef51-9fd8-4d96-9e06-c25e4eec10f8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d50f5f6-78bd-4d82-9516-600756fc97ca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"uuid": "713aef51-9fd8-4d96-9e06-c25e4eec10f8", "created_at": "2025-05-22T18:06:09.564933+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/713aef51-9fd8-4d96-9e06-c25e4eec10f8", "rel": "self"}, {"href": "http://localhost/allocations/713aef51-9fd8-4d96-9e06-c25e4eec10f8", "rel": "bookmark"}], "node_uuid": null} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.085448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97df03c0-a457-4ac3-8be1-e948cdb81a7c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": []} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_ignores_parent_if_include_children_indicated [0.211080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/?include_children=True&parent_node=111 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-446fff62-77fb-472c-b3c9-ae052f56c8fe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "din", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "8bc933a0-8334-4051-813b-ff9b6dcd696a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "not-yoda", "links": [{"href": "http://localhost/v1/nodes/8bc933a0-8334-4051-813b-ff9b6dcd696a", "rel": "self"}, {"href": "http://localhost/nodes/8bc933a0-8334-4051-813b-ff9b6dcd696a", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.087418s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?fields=extra&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-004842a7-7672-47b4-a9b4-48d1b2e151be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"extra": {}, "links": [{"href": "http://localhost/v1/chassis/f2dc6177-5b4e-418a-9464-115049502e44", "rel": "self"}, {"href": "http://localhost/chassis/f2dc6177-5b4e-418a-9464-115049502e44", "rel": "bookmark"}]}, {"extra": {}, "links": [{"href": "http://localhost/v1/chassis/40e37ab2-2042-4f33-ade7-c4fdbf8aa113", "rel": "self"}, {"href": "http://localhost/chassis/40e37ab2-2042-4f33-ade7-c4fdbf8aa113", "rel": "bookmark"}]}], "next": "http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=40e37ab2-2042-4f33-ade7-c4fdbf8aa113"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.045254s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6b2530b6-6cb6-453b-95a0-390f38b1696d', 'owner': '54321'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d54d9ca1-78b4-4a3a-93ca-3bd15f340a12 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.064456s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-56f3b943-804a-4899-b8c0-7b75038b631b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.135102s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e', 'owner': '12345'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e Openstack-Request-Id: req-388628fb-8d9f-4332-a563-ac0a0d3c54b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e", "created_at": "2025-05-22T18:06:09.740455+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e", "rel": "self"}, {"href": "http://localhost/allocations/83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e", "rel": "bookmark"}], "node_uuid": null} GET /v1/allocations/83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43d4a62c-8f48-46fb-9b5f-8887262dbe12 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e", "created_at": "2025-05-22T18:06:09.740455+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e", "rel": "self"}, {"href": "http://localhost/allocations/83bd3c7c-8df2-4ccb-b9ed-490fff5ba15e", "rel": "bookmark"}], "node_uuid": null} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_lists_empty_for_specific_parent [0.141257s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/?parent_node=e43cd4da-3938-43dc-91ef-dc2158b70c10 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-551da4db-02c9-41ea-93a7-75c6a74ec2eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"nodes": []} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.165249s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-622728bf-6440-481f-a22b-b0fb02d4565f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"ports": [{"uuid": "3974ec9c-bafe-4660-b155-aaac44697344", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/3974ec9c-bafe-4660-b155-aaac44697344", "rel": "self"}, {"href": "http://localhost/ports/3974ec9c-bafe-4660-b155-aaac44697344", "rel": "bookmark"}]}, {"uuid": "2fc74441-b020-4bdc-850b-68c29b1eef19", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/2fc74441-b020-4bdc-850b-68c29b1eef19", "rel": "self"}, {"href": "http://localhost/ports/2fc74441-b020-4bdc-850b-68c29b1eef19", "rel": "bookmark"}]}, {"uuid": "da553d64-c558-4557-898b-2c80633d6bd8", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/da553d64-c558-4557-898b-2c80633d6bd8", "rel": "self"}, {"href": "http://localhost/ports/da553d64-c558-4557-898b-2c80633d6bd8", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.080252s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a75ed67-ce42-4d4d-8661-6c11752e13c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.060346s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.076983s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c56f88e-4992-4cb8-bfd2-5e8b5c8cae82 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:09.830254+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.146243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-77272350-7cd3-4b2f-a0f0-546268fed612 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"ports": []} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.070433s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b522034-5de1-48c5-b501-888792100393 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.103803s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_with_children_only_parent [0.216645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/?include_children=True&fields=uuid,lessee,name,parent_node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-72b38168-13b5-4929-aa90-0216d5f41966 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "lessee": "2d571e89-29d7-4a6d-afc2-7d80d5f32aa7", "name": "din", "parent_node": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.096575s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.107942s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e5d286c-3412-4149-ae00-08a6816415c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "created_at": "2025-05-22T18:06:09.996330+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "rel": "self"}, {"href": "http://localhost/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c/nodes", "rel": "bookmark"}]]} GET /v1/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6aff1e3b-1bb0-4c24-8725-e53821a7d862 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "created_at": "2025-05-22T18:06:09.996330+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "rel": "self"}, {"href": "http://localhost/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c/nodes", "rel": "bookmark"}]]} GET /chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-501f5ca9-04cc-4849-9990-564f7b270e71 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "created_at": "2025-05-22T18:06:09.996330+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "rel": "self"}, {"href": "http://localhost/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7b1c1243-b1ec-4f6c-8c30-5cddc519579c/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.124657s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?node=test-node WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ad9b0ef8-895d-4abf-be46-4966e1678ba6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.119631s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fcafa01e-ad95-48a2-b717-d5aa108bf399 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "638a2858-fe19-44ee-83c9-00ccf2bffaf3", "created_at": "2025-05-22T18:06:10.098820+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3", "rel": "self"}, {"href": "http://foo/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3/nodes", "rel": "self"}, {"href": "http://foo/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3/nodes", "rel": "bookmark"}]]} GET /v1/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a54e7fc9-a855-4e8e-ba18-a686193a5d3e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "638a2858-fe19-44ee-83c9-00ccf2bffaf3", "created_at": "2025-05-22T18:06:10.098820+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3", "rel": "self"}, {"href": "http://foo/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3/nodes", "rel": "self"}, {"href": "http://foo/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3/nodes", "rel": "bookmark"}]]} GET /chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-56fd522e-b108-49aa-854e-67e552bd3c19 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "638a2858-fe19-44ee-83c9-00ccf2bffaf3", "created_at": "2025-05-22T18:06:10.098820+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://foo/v1/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3", "rel": "self"}, {"href": "http://foo/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3", "rel": "bookmark"}], "nodes": [[{"href": "http://foo/v1/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3/nodes", "rel": "self"}, {"href": "http://foo/chassis/638a2858-fe19-44ee-83c9-00ccf2bffaf3/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeChildrenTestCase.test_list_nodes_with_include_children [0.173696s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/?include_children=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5ba79e7d-a5ce-4f11-b5ea-9184c38223a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "din", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "37dc174a-58d1-4bad-a207-d85f75cf4bbe", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "not-yoda", "links": [{"href": "http://localhost/v1/nodes/37dc174a-58d1-4bad-a207-d85f75cf4bbe", "rel": "self"}, {"href": "http://localhost/nodes/37dc174a-58d1-4bad-a207-d85f75cf4bbe", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.164925s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-594c29a8-3ea0-4c6d-a747-487eb3568247 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "54dc6a38-8c52-4df4-bf63-14c3a58db41d", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/54dc6a38-8c52-4df4-bf63-14c3a58db41d", "rel": "self"}, {"href": "http://localhost/conductors/54dc6a38-8c52-4df4-bf63-14c3a58db41d", "rel": "bookmark"}], "alive": true}, {"hostname": "c82eddc1-0962-433a-b5e9-6332500be6d9", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/c82eddc1-0962-433a-b5e9-6332500be6d9", "rel": "self"}, {"href": "http://localhost/conductors/c82eddc1-0962-433a-b5e9-6332500be6d9", "rel": "bookmark"}], "alive": true}, {"hostname": "f0254bed-7ba1-45fc-9dd4-090648acb249", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/f0254bed-7ba1-45fc-9dd4-090648acb249", "rel": "self"}, {"href": "http://localhost/conductors/f0254bed-7ba1-45fc-9dd4-090648acb249", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=f0254bed-7ba1-45fc-9dd4-090648acb249"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.187870s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de3a36f5-8846-4a63-a244-f5e6a3da60e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"ports": [{"uuid": "85e35e9a-dfc2-4101-86fe-a6d1667d676b", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/85e35e9a-dfc2-4101-86fe-a6d1667d676b", "rel": "self"}, {"href": "http://localhost/ports/85e35e9a-dfc2-4101-86fe-a6d1667d676b", "rel": "bookmark"}]}, {"uuid": "0d1ec640-4748-4164-968a-8f5e6c4cea56", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/0d1ec640-4748-4164-968a-8f5e6c4cea56", "rel": "self"}, {"href": "http://localhost/ports/0d1ec640-4748-4164-968a-8f5e6c4cea56", "rel": "bookmark"}]}, {"uuid": "a1db2a9c-fcc1-4489-b3cb-e1ee109a5794", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/a1db2a9c-fcc1-4489-b3cb-e1ee109a5794", "rel": "self"}, {"href": "http://localhost/ports/a1db2a9c-fcc1-4489-b3cb-e1ee109a5794", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.087654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6b72368f-ed0c-4dc3-8f76-6a37c18072e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": [{"uuid": "ce8c3e92-b30b-44ee-95e1-0f4da8074daa", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/ce8c3e92-b30b-44ee-95e1-0f4da8074daa", "rel": "self"}, {"href": "http://localhost/chassis/ce8c3e92-b30b-44ee-95e1-0f4da8074daa", "rel": "bookmark"}]}, {"uuid": "474e31e7-1774-4510-a473-bcf74e705d84", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/474e31e7-1774-4510-a473-bcf74e705d84", "rel": "self"}, {"href": "http://localhost/chassis/474e31e7-1774-4510-a473-bcf74e705d84", "rel": "bookmark"}]}, {"uuid": "59f13694-f4bf-49b4-a3f0-b5fc59c6ccd4", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/59f13694-f4bf-49b4-a3f0-b5fc59c6ccd4", "rel": "self"}, {"href": "http://localhost/chassis/59f13694-f4bf-49b4-a3f0-b5fc59c6ccd4", "rel": "bookmark"}]}, {"uuid": "b9a8fc56-dc8a-40b7-9095-fe211b21291a", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/b9a8fc56-dc8a-40b7-9095-fe211b21291a", "rel": "self"}, {"href": "http://localhost/chassis/b9a8fc56-dc8a-40b7-9095-fe211b21291a", "rel": "bookmark"}]}, {"uuid": "6d8c62f3-2418-4d29-bac7-5834b362225e", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/6d8c62f3-2418-4d29-bac7-5834b362225e", "rel": "self"}, {"href": "http://localhost/chassis/6d8c62f3-2418-4d29-bac7-5834b362225e", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.107003s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors?fields=hostname,alive WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-995f64a2-e2b2-4fc0-b650-50184e565d72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "dd7ea637-34cc-49d5-acc4-da151be96987", "links": [{"href": "http://localhost/v1/conductors/dd7ea637-34cc-49d5-acc4-da151be96987", "rel": "self"}, {"href": "http://localhost/conductors/dd7ea637-34cc-49d5-acc4-da151be96987", "rel": "bookmark"}], "alive": true}, {"hostname": "e36c2ac5-386e-4cd0-87b9-99e61f80743a", "links": [{"href": "http://localhost/v1/conductors/e36c2ac5-386e-4cd0-87b9-99e61f80743a", "rel": "self"}, {"href": "http://localhost/conductors/e36c2ac5-386e-4cd0-87b9-99e61f80743a", "rel": "bookmark"}], "alive": true}, {"hostname": "a84f7a1a-7d5b-4196-b3dc-0eee6d205907", "links": [{"href": "http://localhost/v1/conductors/a84f7a1a-7d5b-4196-b3dc-0eee6d205907", "rel": "self"}, {"href": "http://localhost/conductors/a84f7a1a-7d5b-4196-b3dc-0eee6d205907", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=a84f7a1a-7d5b-4196-b3dc-0eee6d205907"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.130549s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-743aacf1-e41e-4209-8d6c-7ed9e718beb9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:10.321628+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.108040s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b9563ff0-7c53-48d3-86e7-01ff84008ad5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "8f205da4-a4f4-4e4d-a7a9-e924d5c06b2a", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/8f205da4-a4f4-4e4d-a7a9-e924d5c06b2a", "rel": "self"}, {"href": "http://localhost/conductors/8f205da4-a4f4-4e4d-a7a9-e924d5c06b2a", "rel": "bookmark"}], "alive": true}, {"hostname": "808af212-e519-4b79-9f36-cbcb124d5d3e", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/808af212-e519-4b79-9f36-cbcb124d5d3e", "rel": "self"}, {"href": "http://localhost/conductors/808af212-e519-4b79-9f36-cbcb124d5d3e", "rel": "bookmark"}], "alive": true}, {"hostname": "8ea66e08-5282-42e3-9d1c-0dc1e4a63ce5", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/8ea66e08-5282-42e3-9d1c-0dc1e4a63ce5", "rel": "self"}, {"href": "http://localhost/conductors/8ea66e08-5282-42e3-9d1c-0dc1e4a63ce5", "rel": "bookmark"}], "alive": true}], "next": "http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=8ea66e08-5282-42e3-9d1c-0dc1e4a63ce5"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.176689s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de1c04ba-672d-4df9-b952-30a41ab68dcc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "7c717943-4521-421f-81ab-50158412502c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/7c717943-4521-421f-81ab-50158412502c", "rel": "self"}, {"href": "http://localhost/nodes/7c717943-4521-421f-81ab-50158412502c", "rel": "bookmark"}]}, {"uuid": "a9ae866b-143d-4d70-8531-c1ec1016eb2d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a9ae866b-143d-4d70-8531-c1ec1016eb2d", "rel": "self"}, {"href": "http://localhost/nodes/a9ae866b-143d-4d70-8531-c1ec1016eb2d", "rel": "bookmark"}]}]} GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e1c6a009-3dd6-4baa-96e2-23f1c8581443 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "7c717943-4521-421f-81ab-50158412502c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/7c717943-4521-421f-81ab-50158412502c", "rel": "self"}, {"href": "http://localhost/nodes/7c717943-4521-421f-81ab-50158412502c", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=1&marker=7c717943-4521-421f-81ab-50158412502c"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPost.test_create_node_with_shard [0.266072s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'shard': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-1c37b15a-7752-4b21-8d5f-24598a55abb9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:10.338417+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": "foo", "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d22c4ea-82ef-49f9-b40f-546aaf78eb53 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:10.338417+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "dep loy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": "foo", "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.109477s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d5f38951-56c5-4752-98f4-b0362b204b1b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": []} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.110860s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a7bc9a07-c822-4f62-af6a-fa8621ca5939 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.202095s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?portgroup=fooname WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22b91c4b-eba2-4147-a379-b166bd0f423c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:10.479793+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.086001s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors?fields=hostname,alive WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c2900a2-9fe9-4b9f-ad51-c92d9736fc97 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "rocky.rocks", "links": [{"href": "http://localhost/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://localhost/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true}, {"hostname": "stein.rocks", "links": [{"href": "http://localhost/v1/conductors/stein.rocks", "rel": "self"}, {"href": "http://localhost/conductors/stein.rocks", "rel": "bookmark"}], "alive": true}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPost.test_create_node_with_shard_fail_wrong_version [0.208005s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'shard': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5d86c27c-b3d2-4cce-a16d-4dbdf82d5781 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.114976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f6e9f76-6435-4a80-9c53-037a31039148 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:06:10.619082+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.094592s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/rocky.rocks?fields=hostname,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a02ede81-9fba-47c5-a9a1-5a7f7ef86406 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.077423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/nodes WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-975b9acf-a8ff-4db9-9466-3573adfc1cfc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach [0.110385s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom', 'image_url': 'https://image', 'image_download_source': 'http'} GOT Response: 204 No Content Openstack-Request-Id: req-22d5f9a6-61a9-4433-b63b-d1cb58d42620 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.082569s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a764fbc-0086-4b0d-aaa7-9fd8bc9ac594 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.086500s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-540979af-44fd-463e-ba9e-32bba1e0d153 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:10.795191+00:00", "updated_at": "2025-05-22T18:06:10.794924+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://localhost/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_invalid_device_type [0.094779s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cat', 'image_url': 'http://image'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2ef9b146-ed5a-4799-8475-5e82dd700cb6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vmedia: 'cat' is not one of ['disk', 'cdrom', 'floppy']\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline_old_heartbeat [0.081079s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-888a6bad-d8c2-4da7-9260-600ce93edae7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2000-01-01T00:00:00+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://localhost/conductors/rocky.rocks", "rel": "bookmark"}], "alive": false} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.079106s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5a8a437-e2eb-46e4-b2f2-e8e96ec26e2e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": [{"uuid": "6aef877d-5c92-4bc8-a4a5-956323e7b576", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/6aef877d-5c92-4bc8-a4a5-956323e7b576", "rel": "self"}, {"href": "http://localhost/chassis/6aef877d-5c92-4bc8-a4a5-956323e7b576", "rel": "bookmark"}]}, {"uuid": "7d9705de-823d-4859-93a6-14d65c6615bf", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/7d9705de-823d-4859-93a6-14d65c6615bf", "rel": "self"}, {"href": "http://localhost/chassis/7d9705de-823d-4859-93a6-14d65c6615bf", "rel": "bookmark"}]}, {"uuid": "bb96e728-0d71-4038-951e-e7895a59ea03", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/bb96e728-0d71-4038-951e-e7895a59ea03", "rel": "self"}, {"href": "http://localhost/chassis/bb96e728-0d71-4038-951e-e7895a59ea03", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_invalid_image_url [0.094516s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom', 'image_url': 'abcd'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3ed4f56-1170-48bf-9acc-8052e70c1e07 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unsupported or missing URL scheme: \", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.075354s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9133df1f-78f6-47e4-9653-b8851de166f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/chassis?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-63856720-dff6-44e4-aa20-8a782280ea1d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline_unregistered [0.123220s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e7a1fec-eaa0-42be-86d3-5211d83a0e0f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:10.982321+00:00", "updated_at": "2025-05-22T18:06:10.994861+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://localhost/conductors/rocky.rocks", "rel": "bookmark"}], "alive": false} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_missing_device_type [0.128875s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'image_url': 'http://image'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-442514af-523e-4b5e-ad5b-a893c7ab763e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vmedia: 'device_type' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.117506s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3e2cbf56-740a-4919-9e10-b0c2a1388789 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "c06d5987-c0c5-45d8-baa0-77ed3990d5e2", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/c06d5987-c0c5-45d8-baa0-77ed3990d5e2", "rel": "self"}, {"href": "http://localhost/deploy_templates/c06d5987-c0c5-45d8-baa0-77ed3990d5e2", "rel": "bookmark"}]}, {"uuid": "f04fd0fb-a5eb-484f-982a-7bbc10141a3e", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/f04fd0fb-a5eb-484f-982a-7bbc10141a3e", "rel": "self"}, {"href": "http://localhost/deploy_templates/f04fd0fb-a5eb-484f-982a-7bbc10141a3e", "rel": "bookmark"}]}, {"uuid": "fa565e87-ff1a-46e2-8b50-392b45164080", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/fa565e87-ff1a-46e2-8b50-392b45164080", "rel": "self"}, {"href": "http://localhost/deploy_templates/fa565e87-ff1a-46e2-8b50-392b45164080", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=fa565e87-ff1a-46e2-8b50-392b45164080"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.540818s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cef2ce20-7283-418f-9646-192b4693d0ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:11.049971+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.117002s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/rocky.rocks?fields=hostname,alive WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a4ef2b45-957a-4c5f-a680-c96aaee54a37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"hostname": "rocky.rocks", "links": [{"href": "http://localhost/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://localhost/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.078094s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4&node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-40eb89ae-26e7-469a-84f6-b58c543ba4e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_missing_image_url [0.125864s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd9a4b83-9cf8-4206-b15c-3d54837ff3c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vmedia: 'image_url' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.105698s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?fields=uuid,steps WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-93005256-a761-43d7-b56a-1d54b90504ca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "609a4dd3-10a4-4ff8-9cdf-f77f7df90d6a", "links": [{"href": "http://localhost/v1/deploy_templates/609a4dd3-10a4-4ff8-9cdf-f77f7df90d6a", "rel": "self"}, {"href": "http://localhost/deploy_templates/609a4dd3-10a4-4ff8-9cdf-f77f7df90d6a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "bd5879a0-5997-451f-8418-5e8943e7c5cd", "links": [{"href": "http://localhost/v1/deploy_templates/bd5879a0-5997-451f-8418-5e8943e7c5cd", "rel": "self"}, {"href": "http://localhost/deploy_templates/bd5879a0-5997-451f-8418-5e8943e7c5cd", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "48947f7f-6962-43f4-b6b9-ff1584f319af", "links": [{"href": "http://localhost/v1/deploy_templates/48947f7f-6962-43f4-b6b9-ff1584f319af", "rel": "self"}, {"href": "http://localhost/deploy_templates/48947f7f-6962-43f4-b6b9-ff1584f319af", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=48947f7f-6962-43f4-b6b9-ff1584f319af"} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.090842s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/rocky.rocks WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bc6c955c-b61a-4844-a643-2366962638c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_required_only [0.119372s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom', 'image_url': 'http://image'} GOT Response: 204 No Content Openstack-Request-Id: req-946885bf-8994-4b8a-92e0-f3d33fb708e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.128243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-615f8cca-ee2f-4de1-8875-2b275d963862 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:11.260720+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_port_and_v6 [0.078462s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/[::1]:8090 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1b46837a-e528-49d8-afc1-8acd969e3fd1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:11.293855+00:00", "updated_at": "2025-05-22T18:06:11.293597+00:00", "hostname": "[::1]:8090", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/[::1]:8090", "rel": "self"}, {"href": "http://localhost/conductors/[::1]:8090", "rel": "bookmark"}], "alive": true} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.099203s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-45956d0d-cd47-4e06-98eb-f2e22164155c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "c98b3cb0-eaa7-4c6f-b3d7-21ecdb7f4751", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/c98b3cb0-eaa7-4c6f-b3d7-21ecdb7f4751", "rel": "self"}, {"href": "http://localhost/deploy_templates/c98b3cb0-eaa7-4c6f-b3d7-21ecdb7f4751", "rel": "bookmark"}]}, {"uuid": "c1f0b4dc-fcb2-4694-ba63-603fefd81d9c", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/c1f0b4dc-fcb2-4694-ba63-603fefd81d9c", "rel": "self"}, {"href": "http://localhost/deploy_templates/c1f0b4dc-fcb2-4694-ba63-603fefd81d9c", "rel": "bookmark"}]}, {"uuid": "849c392f-d517-4c8d-9f08-63d4c2d29a1c", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/849c392f-d517-4c8d-9f08-63d4c2d29a1c", "rel": "self"}, {"href": "http://localhost/deploy_templates/849c392f-d517-4c8d-9f08-63d4c2d29a1c", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=849c392f-d517-4c8d-9f08-63d4c2d29a1c"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_attach_wrong_version [0.080508s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {'device_type': 'cdrom', 'image_url': 'http://image'} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.082131s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f9f2426-c3c3-44f7-a02f-26306aada06f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "c78a43e5-bb00-43a7-b330-cb18ebcebabb", "created_at": "2025-05-22T18:06:11.379832+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c78a43e5-bb00-43a7-b330-cb18ebcebabb", "rel": "self"}, {"href": "http://localhost/deploy_templates/c78a43e5-bb00-43a7-b330-cb18ebcebabb", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.113171s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2df73c27-c8c3-45ac-97cb-0d86c7159dbf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:11.375008+00:00", "updated_at": "2025-05-22T18:06:11.374760+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://localhost/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true} GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-933dd5ee-2e33-4c94-992d-89164fd8b9c5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:11.375008+00:00", "updated_at": "2025-05-22T18:06:11.374760+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://localhost/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true} GET /conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ddafc1f7-9f04-4403-95fe-24d518a83626 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:11.375008+00:00", "updated_at": "2025-05-22T18:06:11.374760+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://localhost/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.116366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bf0a4c5e-2705-4d19-9823-0bd1f96d8012 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"ports": []} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_everything [0.084756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia GOT Response: 204 No Content Openstack-Request-Id: req-1c349851-25ef-4c1e-804c-d452b5716402 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.087827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-aeaefa7f-6895-49c1-9fc0-acc194563701 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.103053s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c88bc83d-fa34-4c43-a0e5-605f36c22723 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "0547ec04-e6fe-48f8-ae37-a4d5dc525180", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/0547ec04-e6fe-48f8-ae37-a4d5dc525180", "rel": "self"}, {"href": "http://localhost/deploy_templates/0547ec04-e6fe-48f8-ae37-a4d5dc525180", "rel": "bookmark"}]}]} GET /v1/deploy_templates?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9f1ea4a0-60ce-4cd9-b214-b55c01283371 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "0547ec04-e6fe-48f8-ae37-a4d5dc525180", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/0547ec04-e6fe-48f8-ae37-a4d5dc525180", "rel": "self"}, {"href": "http://localhost/deploy_templates/0547ec04-e6fe-48f8-ae37-a4d5dc525180", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.124426s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-24baba53-034d-4f41-8eac-3c32d02c0894 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:11.503999+00:00", "updated_at": "2025-05-22T18:06:11.503618+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://foo/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://foo/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true} GET /v1/conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-040b922c-f014-454f-9108-e6f2ed69ce69 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:11.503999+00:00", "updated_at": "2025-05-22T18:06:11.503618+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://foo/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://foo/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true} GET /conductors/rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a4683b84-cbdc-4310-aff4-b3ffa96c2728 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:06:11.503999+00:00", "updated_at": "2025-05-22T18:06:11.503618+00:00", "hostname": "rocky.rocks", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://foo/v1/conductors/rocky.rocks", "rel": "self"}, {"href": "http://foo/conductors/rocky.rocks", "rel": "bookmark"}], "alive": true} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_several_via_argument [0.120808s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia?device_types=cdrom&device_types=disk GOT Response: 204 No Content Openstack-Request-Id: req-2e2833a8-995f-49a8-aa83-c9642696f718 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.077674s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68737f5f-7558-42c3-98ea-c1021869f5cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "why care", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/why care", "rel": "self"}, {"href": "http://localhost/conductors/why care", "rel": "bookmark"}], "alive": true}, {"hostname": "why not", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/why not", "rel": "self"}, {"href": "http://localhost/conductors/why not", "rel": "bookmark"}], "alive": true}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.118933s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5adee7e0-c3b2-4335-9cfe-ed51d25f2792 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "4c717eb7-8097-4928-9bb0-b1df57afbf61", "extra": {}, "links": [{"href": "http://localhost/v1/ports/4c717eb7-8097-4928-9bb0-b1df57afbf61", "rel": "self"}, {"href": "http://localhost/ports/4c717eb7-8097-4928-9bb0-b1df57afbf61", "rel": "bookmark"}]}, {"uuid": "69a214de-a8e5-4931-b946-ae0c885166f4", "extra": {}, "links": [{"href": "http://localhost/v1/ports/69a214de-a8e5-4931-b946-ae0c885166f4", "rel": "self"}, {"href": "http://localhost/ports/69a214de-a8e5-4931-b946-ae0c885166f4", "rel": "bookmark"}]}, {"uuid": "509904ab-3c04-4e09-afdf-cfb5c778200b", "extra": {}, "links": [{"href": "http://localhost/v1/ports/509904ab-3c04-4e09-afdf-cfb5c778200b", "rel": "self"}, {"href": "http://localhost/ports/509904ab-3c04-4e09-afdf-cfb5c778200b", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.131463s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?sort_key=name&detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-102f7162-1fbe-45c0-bc76-d7711aeed206 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "3badd1ea-b03c-4386-96b3-c01820cae663", "created_at": "2025-05-22T18:06:11.605951+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3badd1ea-b03c-4386-96b3-c01820cae663", "rel": "self"}, {"href": "http://localhost/deploy_templates/3badd1ea-b03c-4386-96b3-c01820cae663", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "a56120ca-15da-4d1d-bbd4-dca4cdecac76", "created_at": "2025-05-22T18:06:11.604148+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a56120ca-15da-4d1d-bbd4-dca4cdecac76", "rel": "self"}, {"href": "http://localhost/deploy_templates/a56120ca-15da-4d1d-bbd4-dca4cdecac76", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "d944aeeb-ef08-4f9d-bd3d-d86cf143de64", "created_at": "2025-05-22T18:06:11.596890+00:00", "updated_at": null, "name": "CUSTOM_DT3", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d944aeeb-ef08-4f9d-bd3d-d86cf143de64", "rel": "self"}, {"href": "http://localhost/deploy_templates/d944aeeb-ef08-4f9d-bd3d-d86cf143de64", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_specific_via_argument [0.079232s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia?device_types=cdrom GOT Response: 204 No Content Openstack-Request-Id: req-54d33ca6-f3bc-4e7c-b826-b8682b6473d2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.073798s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors?detail=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ecdc718-4cee-47bf-a533-1222172ffc4a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"created_at": "2025-05-22T18:06:11.682483+00:00", "updated_at": "2025-05-22T18:06:11.682215+00:00", "hostname": "why care", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/why care", "rel": "self"}, {"href": "http://localhost/conductors/why care", "rel": "bookmark"}], "alive": true}, {"created_at": "2025-05-22T18:06:11.683736+00:00", "updated_at": "2025-05-22T18:06:11.683577+00:00", "hostname": "why not", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/why not", "rel": "self"}, {"href": "http://localhost/conductors/why not", "rel": "bookmark"}], "alive": true}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.131224s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?fields=address&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9135cf0f-040f-455d-8a18-c3987364f072 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/eb1eb312-68f9-434f-91ea-a0eba37f2f42", "rel": "self"}, {"href": "http://localhost/ports/eb1eb312-68f9-434f-91ea-a0eba37f2f42", "rel": "bookmark"}]}, {"address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/f56184f9-dbe5-4ac3-9d32-87a9ce7618b5", "rel": "self"}, {"href": "http://localhost/ports/f56184f9-dbe5-4ac3-9d32-87a9ce7618b5", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=f56184f9-dbe5-4ac3-9d32-87a9ce7618b5"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_specific_via_url [0.097847s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia/cdrom GOT Response: 204 No Content Openstack-Request-Id: req-72856ac8-e249-4948-aebc-f75072753c73 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.139115s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?detail=True&fields=name WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8d63ae87-ead1-4fba-907a-a89b3d2a7189 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.096787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7180309a-a77c-4e33-949c-937038cd4dad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.075735s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?detail=False&fields=steps WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6aaa9023-eb5b-48b2-b06e-70cac250f2f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"links": [{"href": "http://localhost/v1/deploy_templates/69ee981e-445d-4b5e-a958-52a3d86ae16d", "rel": "self"}, {"href": "http://localhost/deploy_templates/69ee981e-445d-4b5e-a958-52a3d86ae16d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.105248s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-771b74e7-444f-471a-8f8a-5133286b7b50 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_wrong_device_types [0.126972s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia?device_types=cdrom,cat GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a4ffb4b-0a95-43de-b92f-e9aa36b28603 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid device type(s) cat (valid are disk, cdrom, floppy)\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.117384s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors?sort_key=hostname WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a1bbcaa-4c52-4afd-b233-f393428e16da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "4e623c51-1fea-4e2a-9cd9-00d74c531cf2", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/4e623c51-1fea-4e2a-9cd9-00d74c531cf2", "rel": "self"}, {"href": "http://localhost/conductors/4e623c51-1fea-4e2a-9cd9-00d74c531cf2", "rel": "bookmark"}], "alive": true}, {"hostname": "727a794c-cc65-49df-82c3-c377cf8a9164", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/727a794c-cc65-49df-82c3-c377cf8a9164", "rel": "self"}, {"href": "http://localhost/conductors/727a794c-cc65-49df-82c3-c377cf8a9164", "rel": "bookmark"}], "alive": true}, {"hostname": "73a570dd-29e8-4073-93c4-da9c0ab6a65c", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/73a570dd-29e8-4073-93c4-da9c0ab6a65c", "rel": "self"}, {"href": "http://localhost/conductors/73a570dd-29e8-4073-93c4-da9c0ab6a65c", "rel": "bookmark"}], "alive": true}, {"hostname": "b9118f11-8a27-4b46-a432-4fb68040921c", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/b9118f11-8a27-4b46-a432-4fb68040921c", "rel": "self"}, {"href": "http://localhost/conductors/b9118f11-8a27-4b46-a432-4fb68040921c", "rel": "bookmark"}], "alive": true}, {"hostname": "e7105ec3-6a8a-43cb-985d-da383413ae94", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/e7105ec3-6a8a-43cb-985d-da383413ae94", "rel": "self"}, {"href": "http://localhost/conductors/e7105ec3-6a8a-43cb-985d-da383413ae94", "rel": "bookmark"}], "alive": true}]} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.044158s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors?sort_key=alive WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b70275d-8a50-46fa-a856-055791fd53bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value alive is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/conductors?sort_key=drivers WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a2d6673-d49f-4d06-aa7d-076c3250359d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.104943s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-debfae2f-61ce-41c7-8933-dd6839a2ec12 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": []} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.122292s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bcb8b37d-22cc-4d1d-a51e-74c929ecdd0d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_detach_wrong_version [0.110949s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.094854s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_get [0.096767s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-028db34d-2371-4f45-a596-02eff2f104b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 [{"media_types": ["CD", "DVD"], "inserted": "false", "image": ""}, {"media_types": ["Floppy", "USBStick"], "inserted": "false", "image": ""}] {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.163832s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '5f50e8e4-ce23-40ee-a80d-f34226de809d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/5f50e8e4-ce23-40ee-a80d-f34226de809d Openstack-Request-Id: req-43baf697-51b7-4103-849a-518d499a1f23 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "5f50e8e4-ce23-40ee-a80d-f34226de809d", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5f50e8e4-ce23-40ee-a80d-f34226de809d", "rel": "self"}, {"href": "http://localhost/deploy_templates/5f50e8e4-ce23-40ee-a80d-f34226de809d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET /v1/deploy_templates/5f50e8e4-ce23-40ee-a80d-f34226de809d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c66bdf59-8e58-4ecd-bad6-c37ad5ad13af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "5f50e8e4-ce23-40ee-a80d-f34226de809d", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5f50e8e4-ce23-40ee-a80d-f34226de809d", "rel": "self"}, {"href": "http://localhost/deploy_templates/5f50e8e4-ce23-40ee-a80d-f34226de809d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.138262s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-23c502f3-b7f8-45e6-8ebf-e13c59097b4f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bfde3ce0-be6b-4515-94e4-d1eb4cefe884 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.53 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "is_smartnic": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeVmedia.test_get_wrong_version [0.102521s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vmedia WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-290bb5e5-dca4-4100-bc83-59b398802013 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.92 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.129867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?fields=uuid,steps WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fc1a3b34-c866-4893-ae4d-0c3cd3d67de5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "6e422a49-49f4-4428-94b8-a7e320308687", "links": [{"href": "http://localhost/v1/deploy_templates/6e422a49-49f4-4428-94b8-a7e320308687", "rel": "self"}, {"href": "http://localhost/deploy_templates/6e422a49-49f4-4428-94b8-a7e320308687", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "67c0130a-c0d6-4f8e-bf9e-b85a296445be", "links": [{"href": "http://localhost/v1/deploy_templates/67c0130a-c0d6-4f8e-bf9e-b85a296445be", "rel": "self"}, {"href": "http://localhost/deploy_templates/67c0130a-c0d6-4f8e-bf9e-b85a296445be", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}, {"uuid": "56187d3b-6eab-4a78-9f35-9d038e462e66", "links": [{"href": "http://localhost/v1/deploy_templates/56187d3b-6eab-4a78-9f35-9d038e462e66", "rel": "self"}, {"href": "http://localhost/deploy_templates/56187d3b-6eab-4a78-9f35-9d038e462e66", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]}]} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.129114s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '1bb78d26-7089-493f-baff-efa943cfbb06', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/1bb78d26-7089-493f-baff-efa943cfbb06 Openstack-Request-Id: req-be09b46a-a014-4466-a204-e15e538a7443 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1bb78d26-7089-493f-baff-efa943cfbb06", "created_at": "2025-05-22T18:06:12.252828+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1bb78d26-7089-493f-baff-efa943cfbb06", "rel": "self"}, {"href": "http://localhost/deploy_templates/1bb78d26-7089-493f-baff-efa943cfbb06", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.118739s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-619b61ea-6c06-489a-88e8-8165be61001f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-99f4769a-4dcc-461b-858a-0fb2601cfc4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "physical_network": "physnet1", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.118854s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?fields=name&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5153a6b3-85c0-4a18-8b91-40eae41cd121 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/7d373fd8-8f2e-4a79-96ea-67bb138a9986", "rel": "self"}, {"href": "http://localhost/deploy_templates/7d373fd8-8f2e-4a79-96ea-67bb138a9986", "rel": "bookmark"}]}, {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/2d2a114c-d550-4989-982f-39cbb2e80bfd", "rel": "self"}, {"href": "http://localhost/deploy_templates/2d2a114c-d550-4989-982f-39cbb2e80bfd", "rel": "bookmark"}]}], "next": "http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=2d2a114c-d550-4989-982f-39cbb2e80bfd"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.099775s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cca02926-139f-451e-a34c-82b7f69cd90b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.156006s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.122829s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '46fa0f19-3de5-4b48-b59d-2b8a331ae436', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/46fa0f19-3de5-4b48-b59d-2b8a331ae436 Openstack-Request-Id: req-8a8cbc38-9265-4210-9a3e-28d77c29eb63 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "46fa0f19-3de5-4b48-b59d-2b8a331ae436", "created_at": "2025-05-22T18:06:12.359222+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/46fa0f19-3de5-4b48-b59d-2b8a331ae436", "rel": "self"}, {"href": "http://localhost/deploy_templates/46fa0f19-3de5-4b48-b59d-2b8a331ae436", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET /v1/deploy_templates/46fa0f19-3de5-4b48-b59d-2b8a331ae436 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cc19387d-b183-4efb-84a5-6e81bdc3e00b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "46fa0f19-3de5-4b48-b59d-2b8a331ae436", "created_at": "2025-05-22T18:06:12.359222+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/46fa0f19-3de5-4b48-b59d-2b8a331ae436", "rel": "self"}, {"href": "http://localhost/deploy_templates/46fa0f19-3de5-4b48-b59d-2b8a331ae436", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.111840s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/6ed119fe-055b-4d7f-94fb-071a6d6073cb?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b000228d-4ce0-476f-b891-4417bde947f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.110047s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7e54c38e-2114-444e-a9b8-9f0537423507 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:12.431035+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.115268s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.123133s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '50045930-d3e0-46bd-862e-d825345687ec', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-9707766d-d69b-48fc-b28a-b17ddc9aa3f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.102882s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra,description WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35f7254b-25a8-4c74-a04f-7af536caca03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"address": "52:54:00:cf:2d:31", "extra": {}, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.124816s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e99f5efd-1340-4f83-ad70-966980920cf0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.136600s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/72cbf683-351c-41c9-acc8-186d318dd660 Openstack-Request-Id: req-5b9fb365-49d6-4861-ae2b-c4758acb0b2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "72cbf683-351c-41c9-acc8-186d318dd660", "created_at": "2025-05-22T18:06:12.616899+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/72cbf683-351c-41c9-acc8-186d318dd660", "rel": "self"}, {"href": "http://localhost/deploy_templates/72cbf683-351c-41c9-acc8-186d318dd660", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET /v1/deploy_templates/72cbf683-351c-41c9-acc8-186d318dd660 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1479f26-ab62-4823-8d63-ac24a7eb06d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "72cbf683-351c-41c9-acc8-186d318dd660", "created_at": "2025-05-22T18:06:12.616899+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/72cbf683-351c-41c9-acc8-186d318dd660", "rel": "self"}, {"href": "http://localhost/deploy_templates/72cbf683-351c-41c9-acc8-186d318dd660", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.096657s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42a088f2-037c-4387-9659-ffff0db1a912 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:12.631834+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.074777s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'c7c96ea4-e5ec-4d1e-907b-3dcfb479efa6', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_ports_by_description [0.121728s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?description_contains=cat WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fadd1cc6-f98e-4b3d-b7e0-8c219827d135 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "d0e23fc5-33f9-4b64-92ef-2add64594af5", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/d0e23fc5-33f9-4b64-92ef-2add64594af5", "rel": "self"}, {"href": "http://localhost/ports/d0e23fc5-33f9-4b64-92ef-2add64594af5", "rel": "bookmark"}]}]} GET /v1/ports?description_contains=dog WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-402c7a9b-df7b-4dea-bfa0-1523804fdb8a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "bdcda903-4a20-43af-b7a0-1f978b62438d", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/bdcda903-4a20-43af-b7a0-1f978b62438d", "rel": "self"}, {"href": "http://localhost/ports/bdcda903-4a20-43af-b7a0-1f978b62438d", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.115816s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '96a22ddb-5158-4647-909d-74a1734c7fd2', 'steps': [], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef5471e6-e724-4b6a-a66f-0039af3d5396 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.394915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/bf02fbcd-0bd0-49de-955e-15c7529b3faa WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c1945992-1046-4f67-bc8c-f46f26820272 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "bf02fbcd-0bd0-49de-955e-15c7529b3faa", "created_at": "2025-05-22T18:06:12.837750+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/bf02fbcd-0bd0-49de-955e-15c7529b3faa", "rel": "self"}, {"href": "http://localhost/deploy_templates/bf02fbcd-0bd0-49de-955e-15c7529b3faa", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.045707s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/e7069d17-c927-44d6-9cc9-1ffc1f6c282b?fields=name,steps WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-648470ef-3c26-4ed3-b539-ec68fe150a06 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e7069d17-c927-44d6-9cc9-1ffc1f6c282b", "rel": "self"}, {"href": "http://localhost/deploy_templates/e7069d17-c927-44d6-9cc9-1ffc1f6c282b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.289264s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2ac7ad51-7cf3-4a1f-90ad-4a74a476d24d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:12.673963+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.132911s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-30d84873-741d-4674-bd64-73cd8717161d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:12.861532+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fa401cef-cf16-4e93-a71b-2b087541cbb9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:12.861532+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_info": "switch", "switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Gig0/1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.039054s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/7cc76935-5f6e-4037-9e68-a8cfb53e365a WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.138526s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'ddd7d3c1-8d54-4e84-9bda-0778144cce20', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': 42} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-90f64ae1-885b-4c99-9700-f1087ea99d2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.046983s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/98859b63-8e0f-449c-a9ba-d642fdf74550.json WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8dc1d345-0548-4244-b579-ce925b307db9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "98859b63-8e0f-449c-a9ba-d642fdf74550", "created_at": "2025-05-22T18:06:12.960225+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/98859b63-8e0f-449c-a9ba-d642fdf74550", "rel": "self"}, {"href": "http://localhost/deploy_templates/98859b63-8e0f-449c-a9ba-d642fdf74550", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json_not_found [0.065599s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/55d2429a-4366-4b17-9ce3-a5f9d1546619.json WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-08811178-78cb-4e0a-846b-5863389379c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 55d2429a-4366-4b17-9ce3-a5f9d1546619.json could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.134328s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8bf1645d-6978-4bfb-bf50-ce09dd1250f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:12.988694+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0b0d174b-e30f-4845-a9e3-6cc8251d845f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:12.988694+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"foo": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.044374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/50d08f23-607c-4608-b745-706c9b189a27 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4e144c96-dc63-4746-80ab-2857fcc02f00 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "50d08f23-607c-4608-b745-706c9b189a27", "created_at": "2025-05-22T18:06:13.075940+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/50d08f23-607c-4608-b745-706c9b189a27", "rel": "self"}, {"href": "http://localhost/deploy_templates/50d08f23-607c-4608-b745-706c9b189a27", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.147412s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'b22fad66-a65c-4c63-9566-5dad6d72e423', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}, 'foo': 'bar'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-708ac7b1-ab89-41ca-81c0-5a343d60094b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.049212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-588aa958-eaa3-431a-8ee7-783dc7da7ed5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2e18b7a5-7685-48cb-8a13-5946ec608ec0", "created_at": "2025-05-22T18:06:13.122950+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0", "rel": "self"}, {"href": "http://localhost/deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET /v1/deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6e64d400-879c-481e-b394-34a666f5636b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2e18b7a5-7685-48cb-8a13-5946ec608ec0", "created_at": "2025-05-22T18:06:13.122950+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0", "rel": "self"}, {"href": "http://localhost/deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET /deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55026bd4-96c4-4278-8d19-537673750f66 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2e18b7a5-7685-48cb-8a13-5946ec608ec0", "created_at": "2025-05-22T18:06:13.122950+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0", "rel": "self"}, {"href": "http://localhost/deploy_templates/2e18b7a5-7685-48cb-8a13-5946ec608ec0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.124781s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22297c13-0267-4666-8c52-a80fb92512ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.124593+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8620031f-b1d6-4d9d-8a11-9b34d90735e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.53 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.124593+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.059217s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-082cf3bd-4783-40e8-849d-ed60a2ef95b1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "69febe39-944f-4b11-b6e6-12592c8786aa", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/69febe39-944f-4b11-b6e6-12592c8786aa", "rel": "self"}, {"href": "http://localhost/deploy_templates/69febe39-944f-4b11-b6e6-12592c8786aa", "rel": "bookmark"}]}, {"uuid": "80c71810-f112-4a06-84cb-2e9cb871c349", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/80c71810-f112-4a06-84cb-2e9cb871c349", "rel": "self"}, {"href": "http://localhost/deploy_templates/80c71810-f112-4a06-84cb-2e9cb871c349", "rel": "bookmark"}]}, {"uuid": "4bd40230-1865-4bf9-83f2-2f50bc2db945", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/4bd40230-1865-4bf9-83f2-2f50bc2db945", "rel": "self"}, {"href": "http://localhost/deploy_templates/4bd40230-1865-4bf9-83f2-2f50bc2db945", "rel": "bookmark"}]}, {"uuid": "206a3c6a-d1c4-47e6-ab9c-21a18d00cd99", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/deploy_templates/206a3c6a-d1c4-47e6-ab9c-21a18d00cd99", "rel": "self"}, {"href": "http://localhost/deploy_templates/206a3c6a-d1c4-47e6-ab9c-21a18d00cd99", "rel": "bookmark"}]}, {"uuid": "ea7c1b04-362b-4413-b172-30f9dee10539", "name": "CUSTOM_DT4", "links": [{"href": "http://localhost/v1/deploy_templates/ea7c1b04-362b-4413-b172-30f9dee10539", "rel": "self"}, {"href": "http://localhost/deploy_templates/ea7c1b04-362b-4413-b172-30f9dee10539", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.035094s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5224ed7f-550d-43bc-b2ee-60816d6d6b20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "1b2b31c9-ce5e-4671-bedc-d92c39f738e4", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/1b2b31c9-ce5e-4671-bedc-d92c39f738e4", "rel": "self"}, {"href": "http://localhost/deploy_templates/1b2b31c9-ce5e-4671-bedc-d92c39f738e4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.120652s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 42, 'uuid': '1da5dc46-077a-4d5e-a994-58d4993fd5b4', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6c7acf8a-a01b-4770-a266-4759f779123e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.357153s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e3391463-a302-4a36-8a87-749428ebbe74 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:13.001510+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.045863s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/5e7ecaf4-fd20-40f8-aaba-3faab6fe70f0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ce7a4e9-8173-411e-9548-75c3a46086fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "5e7ecaf4-fd20-40f8-aaba-3faab6fe70f0", "created_at": "2025-05-22T18:06:13.274990+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5e7ecaf4-fd20-40f8-aaba-3faab6fe70f0", "rel": "self"}, {"href": "http://localhost/deploy_templates/5e7ecaf4-fd20-40f8-aaba-3faab6fe70f0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": [], "password": "******"}, "priority": 10}]} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.051137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-315d7755-7e12-462b-9441-93ebba0ff880 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "4686de24-a165-46e7-8197-35bace0fec4f", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/deploy_templates/4686de24-a165-46e7-8197-35bace0fec4f", "rel": "self"}, {"href": "http://localhost/deploy_templates/4686de24-a165-46e7-8197-35bace0fec4f", "rel": "bookmark"}]}, {"uuid": "80f9ad6c-c91b-41be-a1fc-f88cf6d86d62", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/80f9ad6c-c91b-41be-a1fc-f88cf6d86d62", "rel": "self"}, {"href": "http://localhost/deploy_templates/80f9ad6c-c91b-41be-a1fc-f88cf6d86d62", "rel": "bookmark"}]}, {"uuid": "e0691f2a-f392-4e3e-b81e-f3343794afec", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e0691f2a-f392-4e3e-b81e-f3343794afec", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0691f2a-f392-4e3e-b81e-f3343794afec", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_ovn_vtep [0.156185s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2bb559c-1f95-4d9b-bb60-4a1c5ee2f894 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.251876+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20b2b225-9a1b-4014-a678-8886e0ffb2ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.89 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.251876+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-00895cef-fd0d-43f4-a92e-978261592d57 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.251876+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"port_id": "42", "vtep-logical-switch": "lswitch", "vtep-physical-switch": "jswitch"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.116494s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': None, 'uuid': '282f57e4-572b-48f3-ad17-31c0774ae4b5', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e9b9a671-eed6-4ae8-b440-30d22e24ea23 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.086844s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?sort_key=name&detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-297fffe8-244c-47c3-8d16-2d0765a4a1e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "1c312af5-b4eb-427f-8954-ea9191f74c4b", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/1c312af5-b4eb-427f-8954-ea9191f74c4b", "rel": "self"}, {"href": "http://localhost/deploy_templates/1c312af5-b4eb-427f-8954-ea9191f74c4b", "rel": "bookmark"}]}, {"uuid": "295fef74-cd6b-4217-8b13-e26106ac0316", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/deploy_templates/295fef74-cd6b-4217-8b13-e26106ac0316", "rel": "self"}, {"href": "http://localhost/deploy_templates/295fef74-cd6b-4217-8b13-e26106ac0316", "rel": "bookmark"}]}, {"uuid": "17da6854-20dd-43e1-aa79-7033c16ac4e2", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/deploy_templates/17da6854-20dd-43e1-aa79-7033c16ac4e2", "rel": "self"}, {"href": "http://localhost/deploy_templates/17da6854-20dd-43e1-aa79-7033c16ac4e2", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.136087s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-deb35f5c-301d-4805-bb81-c4ceadb54f27 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.413516+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a19ae31c-4c09-465d-9a94-4bb62a010bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.413516+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.082255s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f86d2705-f5ba-4e67-aa6c-96670e50ce53 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/deploy_templates?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b6988646-9772-4fae-a6fa-b8e2c88393c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/deploy_templates?sort_key=steps WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b026586a-fcbc-477c-b1f1-4289521ab75d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.169344s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '96bac4e5-a29e-47ce-a497-db98b9d3bd0a', 'steps': {}, 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b30a1654-e138-46a6-8135-57262c39f61c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.108859s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-603e7ca7-32d6-4dc5-b1c6-92cb6219ae0f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.554590+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.086100s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-3af93bb7-eb85-4ef4-87fa-496644f7d20b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.038722s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'INVALID': 'fake.event'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d867dfb2-aa42-4ecc-a32c-e37aa4cf1279 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.396001s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4018a0cf-8998-45ba-872f-738f44bb1875 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:13.349501+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.056818s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'invalid.event'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82a68c9e-51d6-416c-98b2-bca290d112bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.139996s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '219d523d-7f5a-4b25-a2c5-9a187e28e0b2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict', 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ef3d24f-32e0-4928-92d3-1b8dd7208501 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.038374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c015417a-8dc7-4012-9b32-83f271901bd2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.169083s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dc67e929-791c-4509-a8d0-3005b7374eaf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.670530+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e1efca50-6138-44e5-a781-6fd1caa4b73b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:13.670530+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.132079s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '6a4978dc-41ed-43aa-b502-7dcc94cbecd7', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9dc06ab7-85a3-4fbf-b3bd-76c80eb4ecc8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.108871s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-6ed98f3a-9a4d-4ce8-b3fa-540797598599 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.192732s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82f45b35-4c91-4b43-b07d-5c75718ecb81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.144390s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/f954c322-60a1-40c6-8454-2a0c10a9e776 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d222ba4-da14-4813-8f75-345170cb6657 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f954c322-60a1-40c6-8454-2a0c10a9e776", "created_at": "2025-05-22T18:06:13.815356+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/f954c322-60a1-40c6-8454-2a0c10a9e776", "rel": "self"}, {"href": "http://localhost/ports/f954c322-60a1-40c6-8454-2a0c10a9e776", "rel": "bookmark"}]} GET /v1/ports/f954c322-60a1-40c6-8454-2a0c10a9e776 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bf1b4f0d-8e7f-4bfc-84b4-b8573057e2b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f954c322-60a1-40c6-8454-2a0c10a9e776", "created_at": "2025-05-22T18:06:13.815356+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/f954c322-60a1-40c6-8454-2a0c10a9e776", "rel": "self"}, {"href": "http://localhost/ports/f954c322-60a1-40c6-8454-2a0c10a9e776", "rel": "bookmark"}]} GET /ports/f954c322-60a1-40c6-8454-2a0c10a9e776 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-21b10aa9-b579-4620-9893-7dde261b2432 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f954c322-60a1-40c6-8454-2a0c10a9e776", "created_at": "2025-05-22T18:06:13.815356+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/f954c322-60a1-40c6-8454-2a0c10a9e776", "rel": "self"}, {"href": "http://localhost/ports/f954c322-60a1-40c6-8454-2a0c10a9e776", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.099756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-a7c34d73-66e6-4060-b4e5-7b359e180a6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.128406s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '9a7defd1-ea34-4b30-b600-11f13bdc7928', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10, 'foo': 'bar'}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-073b1fdc-19cd-4659-85af-b589c95c068b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.097526s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.delete_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-903b8c87-2ea0-436e-a1d3-4a0ccac04c0b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.146350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5e6d2a03-d7c1-4bad-abba-74c74b7f83ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "created_at": "2025-05-22T18:06:13.970015+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://foo/v1/ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "rel": "self"}, {"href": "http://foo/ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "rel": "bookmark"}]} GET /v1/ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8aa7a7f1-c4ca-4037-9529-196a5aa3c5d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "created_at": "2025-05-22T18:06:13.970015+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://foo/v1/ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "rel": "self"}, {"href": "http://foo/ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "rel": "bookmark"}]} GET /ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-391cfbca-c5d1-4829-a7f4-9590ae38aae9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "created_at": "2025-05-22T18:06:13.970015+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://foo/v1/ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "rel": "self"}, {"href": "http://foo/ports/b4d60b1f-5232-4035-a9cc-5c7ae19fe5c8", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.203757s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/35122098-2b54-45ed-bb67-9a0882959755 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-23cec9d9-baae-4ba1-a352-61256cc5368b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 35122098-2b54-45ed-bb67-9a0882959755 can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.060512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b4b24240-048e-4823-9074-8fd8c69f9fbb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.132371s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '7a2020ee-c647-4481-bf2a-e94558baa975', 'steps': [{'interface': [3], 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4b3e0f26-ec56-46df-aafb-b402f1ad34bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.042711s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2a6fd3d-7e77-4446-8d22-efe350136f1c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.117478s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0357baa1-b245-42ad-ba59-acd5946b6c5e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.036546s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-92797e1c-d2ed-4a20-90e8-f68236b9bcd3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.057520s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'INVALID_MAC_ADDRESS', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-704e23be-7c6d-4c46-b7cd-c40a26987257 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.141683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'baa14838-f8c1-4269-a7bc-2c50b4108405', 'steps': [{'interface': 'foo', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8df023be-de58-4652-a393-214c5d39f97f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.038302s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e739eb37-a7b6-4ec0-aa53-001828e54751 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.117593s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ccac2296-4f00-4505-83af-afebc5a512e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.035641s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8cb9f007-cc89-4de4-98e7-8a87ffd16942 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.061683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT Response: 204 No Content Openstack-Request-Id: req-a188d27d-fd7f-47af-83e2-9206a83be251 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.121948s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'df3d366a-6d73-42fd-b79e-6177e064fc3a', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': -1}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-feb96c2e-c242-4e90-b5d2-a37d19a72cc7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.042162s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/events WITH {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9150a88-d37f-48c4-a64d-f0c87774f2e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.151963s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3bfeed4-8758-4fce-852c-137979cf8768 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "cbb02274-dba5-4911-8f80-bffbf9602e0b", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/cbb02274-dba5-4911-8f80-bffbf9602e0b", "rel": "self"}, {"href": "http://localhost/ports/cbb02274-dba5-4911-8f80-bffbf9602e0b", "rel": "bookmark"}]}, {"uuid": "07eccfb8-523f-4097-a599-44bd23fe84fc", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/07eccfb8-523f-4097-a599-44bd23fe84fc", "rel": "self"}, {"href": "http://localhost/ports/07eccfb8-523f-4097-a599-44bd23fe84fc", "rel": "bookmark"}]}, {"uuid": "6d39705c-9fdf-4323-bf7c-470fda448555", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/6d39705c-9fdf-4323-bf7c-470fda448555", "rel": "self"}, {"href": "http://localhost/ports/6d39705c-9fdf-4323-bf7c-470fda448555", "rel": "bookmark"}]}, {"uuid": "989a5900-2f56-4c5e-942a-14df3a483b6a", "address": "52:54:00:cf:2d:33", "links": [{"href": "http://localhost/v1/ports/989a5900-2f56-4c5e-942a-14df3a483b6a", "rel": "self"}, {"href": "http://localhost/ports/989a5900-2f56-4c5e-942a-14df3a483b6a", "rel": "bookmark"}]}, {"uuid": "877a1863-6092-4081-8bbe-8c6aa4adedd7", "address": "52:54:00:cf:2d:34", "links": [{"href": "http://localhost/v1/ports/877a1863-6092-4081-8bbe-8c6aa4adedd7", "rel": "self"}, {"href": "http://localhost/ports/877a1863-6092-4081-8bbe-8c6aa4adedd7", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.359498s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/f5722c3e-a963-49d7-80c0-afba4bcc1ac6 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0db37583-f053-4b1b-89a5-879b5be7ac01 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f5722c3e-a963-49d7-80c0-afba4bcc1ac6", "created_at": "2025-05-22T18:06:14.258600+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "deploy failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "active", "links": [{"href": "http://localhost/v1/nodes/f5722c3e-a963-49d7-80c0-afba4bcc1ac6", "rel": "self"}, {"href": "http://localhost/nodes/f5722c3e-a963-49d7-80c0-afba4bcc1ac6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f5722c3e-a963-49d7-80c0-afba4bcc1ac6/ports", "rel": "self"}, {"href": "http://localhost/nodes/f5722c3e-a963-49d7-80c0-afba4bcc1ac6/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestDelete.test_delete_by_uuid [0.049243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/inspection_rules/26e07967-716d-4c8a-9a3f-197aa454e090 GOT Response: 204 No Content Openstack-Request-Id: req-5a202b91-f535-48e8-9af4-78588f796cf9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestDelete.test_delete_invalid_api_version [0.040401s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/inspection_rules/d10501db-b059-4585-99d5-c7c19a2e2ff2 GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow inspection rules\"}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.124008s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '100fe070-90fc-4028-b9da-bffb5f608639', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 'not a number'}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-779b32d3-f82e-4458-b4ec-a934a2ec9b99 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' does not match '^[0-9]+$'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.043792s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'eb215755-8611-48b3-9af9-eca0ba38179a'} GOT Response: 204 No Content Openstack-Request-Id: req-6b8fd342-bcbd-41f7-a2e5-bd9d08a2f669 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.153040s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-919b9237-cbcd-422f-895e-015c3862ce8d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "d02a1d91-f78d-4e1e-bc92-b77c3574251d", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/d02a1d91-f78d-4e1e-bc92-b77c3574251d", "rel": "self"}, {"href": "http://localhost/ports/d02a1d91-f78d-4e1e-bc92-b77c3574251d", "rel": "bookmark"}]}, {"uuid": "6e4e220e-ab9a-4c0c-b9cf-c57d742a551b", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/6e4e220e-ab9a-4c0c-b9cf-c57d742a551b", "rel": "self"}, {"href": "http://localhost/ports/6e4e220e-ab9a-4c0c-b9cf-c57d742a551b", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.049516s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/node-39/vifs WITH {'id': 'b568865b-4e07-40dc-8908-5a52271b80be'} GOT Response: 204 No Content Openstack-Request-Id: req-aea8e412-7014-4a28-bf5e-c24bd3da1bc9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.047323s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/node-39/vifs WITH {'id': '9d3e63c1-7a50-4a0d-836b-245522de1a76'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f3f3d879-a289-4530-9d6b-e63075f64d34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"boom\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.125055s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '1470b436-71d0-438d-8cdc-eb7106617ec7', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-58cabcc4-2d04-40a6-aafe-bb43c8d406bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.095956s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f45c78cf-626a-4f7d-acf6-709683efc96c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.051834s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'invalid%id^'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14cab60c-8014-489b-b014-5af9c564945d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID or name for id: invalid%id^\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.040465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'bad_id': '07ae1ddf-6802-42e0-bcbd-13b66e87ef97'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ab52005a-ac30-4814-bec5-28882cdbfbcd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vif: 'id' is a required property\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.095207s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '4b2b8dfa-63ec-41b8-87c7-2ad03d52916d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/4b2b8dfa-63ec-41b8-87c7-2ad03d52916d Openstack-Request-Id: req-f6f9282d-1a11-4f50-9c38-7a41c8df60cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "4b2b8dfa-63ec-41b8-87c7-2ad03d52916d", "created_at": "2025-05-22T18:06:14.757139+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4b2b8dfa-63ec-41b8-87c7-2ad03d52916d", "rel": "self"}, {"href": "http://localhost/deploy_templates/4b2b8dfa-63ec-41b8-87c7-2ad03d52916d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.052648s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'dbc7cdbc-91d2-4d60-84b8-1b0c524564d9'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-17fab6be-b43b-493b-9074-4017b7858a4a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.056838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/doesntexist/vifs WITH {'id': '99af05b0-cf94-4352-b6a6-89e2a6cff946'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fe4fd34b-85ff-4a01-b991-fc9dd2bd8b90 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.181753s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?address=aa:bb:cc:dd:ee:f1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-810f104a-441a-4ec8-94a1-8b4d566e2845 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "9f4eded8-97dc-48ff-bb43-f91a6ef85ad6", "address": "aa:bb:cc:dd:ee:f1", "links": [{"href": "http://localhost/v1/ports/9f4eded8-97dc-48ff-bb43-f91a6ef85ad6", "rel": "self"}, {"href": "http://localhost/ports/9f4eded8-97dc-48ff-bb43-f91a6ef85ad6", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.091324s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': '2a1ad3f0-98b1-4240-8e1f-ea945d4f3658', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6ecaf5b8-319c-42a4-a6c4-f08241946f02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot specify both port_uuid and portgroup_uuid\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.120193s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?address=invalid-mac-format WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e29ba6da-c41a-4d51-bcfc-76b9763ab7d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.060148s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': '9229c837-1e2b-41e8-bb6a-e91d6fcbbd1a', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT Response: 204 No Content Openstack-Request-Id: req-d73efc24-f063-4b68-b3ea-e13ee945b4a3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.037860s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/a0b8ae17-b7e0-4021-8116-7bbd640d7b47 GOT Response: 204 No Content Openstack-Request-Id: req-0874958e-7be3-406b-9bfd-89361cba4935 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.652822s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': ''}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3daffb56-0f89-4a59-8dc3-3872c806b1e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.072782s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/node-39/vifs/07db320b-ba25-4787-a2b5-9f7fa8b37149 GOT Response: 204 No Content Openstack-Request-Id: req-2483a071-b269-4de6-95fe-16885d48d5c3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.200104s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?address=aa:bb:cc:dd:ee:f1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-61e0c6b3-b90c-4574-bcd6-4953882014c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "d584b405-61c9-4a00-ab27-66184aee0ab0", "address": "aa:bb:cc:dd:ee:f1", "links": [{"href": "http://localhost/v1/ports/d584b405-61c9-4a00-ab27-66184aee0ab0", "rel": "self"}, {"href": "http://localhost/ports/d584b405-61c9-4a00-ab27-66184aee0ab0", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.081417s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/016d7b35-cab1-4eb0-8427-9077a5d45259 GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-27974a40-d03f-48b9-9979-e75b5fc95586 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.111226s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': ''}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-79559e4f-8966-4c01-9b50-30ad9ab6e2f7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.513455s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'not-a-trait', 'uuid': 'd7ecae6d-650d-482e-b1d8-d863a6453059', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a1651e0-cb90-45e4-bb8a-9125c255905b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' is not valid under any of the given schemas. Possible root cause: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.067131s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/doesntexist/vifs/e768a9b9-f057-400a-b2f4-b996da65177b GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-092e0ed1-97c0-4a84-ab60-67d83f338aec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.057433s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f47ef0c-ff4d-41b7-b237-5503b4c6be2b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"vifs": []} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.123461s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'i am invalid'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9fed8f5-55d7-4b1d-a3a6-606283445d43 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.088415s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '700d826c-11e5-447a-a667-7c39c36f2b46', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3e500faa-237b-4106-ad67-0158a04879fa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.034747s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.199135s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?address=aa:bb:cc:dd:ee:f1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-882acf42-207f-44ca-9e2a-e1f715a9bf1c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": []} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.063561s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?associated=blah WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2154f419-cee5-43b4-a293-9675c068ddef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid associated: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.094003s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'uuid': '4b6cb96f-d5d5-4142-b675-43c15ba3f891', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-95f18715-b28d-4989-b234-40eef4ada888 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.128828s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?address=aa:bb:cc:dd:ee:ff WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-522cbff2-7ecd-4562-ad78-568f9486c5ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": []} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.083813s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '0fb7e0d9-f73e-46a2-9944-e28be95cad26', 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2db52e37-e0d0-469b-9174-783f3c4983bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.249190s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'guido-van-rossum'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bbd84897-2ab5-4359-991b-062e52486ef0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "deadbeef-0000-1111-2222-333333333333", "created_at": "2025-05-22T18:06:15.429070+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.079956s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '1482da79-d308-4efa-9698-6e31ef35ef15', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86f5939c-fac5-4072-b3b2-e1f62ac0aeee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.110284s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/123 123/ports WITH {} GOT Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 123 123\"}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.078804s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '779128c5-f566-4586-ba86-dda8bf2c4599', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c91c3250-0096-485b-bba6-62d52593679b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.088317s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.318161s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?associated=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d2fea2e-c27e-40ee-9153-28f022cf421d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "d9ec653c-a7e3-4755-b811-bb04c46ba28b", "instance_uuid": "e90da6fe-005e-44fc-a1ee-226c7e2584bd", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d9ec653c-a7e3-4755-b811-bb04c46ba28b", "rel": "self"}, {"href": "http://localhost/nodes/d9ec653c-a7e3-4755-b811-bb04c46ba28b", "rel": "bookmark"}]}, {"uuid": "808a9622-f5e1-4b2d-8aa3-85d3682aa31d", "instance_uuid": "bd259996-c54b-4276-9fd4-0968b8fa6eca", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/808a9622-f5e1-4b2d-8aa3-85d3682aa31d", "rel": "self"}, {"href": "http://localhost/nodes/808a9622-f5e1-4b2d-8aa3-85d3682aa31d", "rel": "bookmark"}]}, {"uuid": "f4922596-c1a5-4bf5-9f71-e1bfba1cb1c5", "instance_uuid": "6697567e-24ad-49fc-a395-86350a1e0e8c", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f4922596-c1a5-4bf5-9f71-e1bfba1cb1c5", "rel": "self"}, {"href": "http://localhost/nodes/f4922596-c1a5-4bf5-9f71-e1bfba1cb1c5", "rel": "bookmark"}]}, {"uuid": "083a97e3-99e4-4e95-94ee-8f07ca4b8ad5", "instance_uuid": "ac11fbf3-5eb7-43b9-a21d-94923ca4cd1a", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/083a97e3-99e4-4e95-94ee-8f07ca4b8ad5", "rel": "self"}, {"href": "http://localhost/nodes/083a97e3-99e4-4e95-94ee-8f07ca4b8ad5", "rel": "bookmark"}]}]} GET /v1/nodes?associated=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-09c580f2-b74b-4351-87eb-fc46827ae434 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "d9ec653c-a7e3-4755-b811-bb04c46ba28b", "instance_uuid": "e90da6fe-005e-44fc-a1ee-226c7e2584bd", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d9ec653c-a7e3-4755-b811-bb04c46ba28b", "rel": "self"}, {"href": "http://localhost/nodes/d9ec653c-a7e3-4755-b811-bb04c46ba28b", "rel": "bookmark"}]}, {"uuid": "808a9622-f5e1-4b2d-8aa3-85d3682aa31d", "instance_uuid": "bd259996-c54b-4276-9fd4-0968b8fa6eca", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/808a9622-f5e1-4b2d-8aa3-85d3682aa31d", "rel": "self"}, {"href": "http://localhost/nodes/808a9622-f5e1-4b2d-8aa3-85d3682aa31d", "rel": "bookmark"}]}, {"uuid": "f4922596-c1a5-4bf5-9f71-e1bfba1cb1c5", "instance_uuid": "6697567e-24ad-49fc-a395-86350a1e0e8c", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f4922596-c1a5-4bf5-9f71-e1bfba1cb1c5", "rel": "self"}, {"href": "http://localhost/nodes/f4922596-c1a5-4bf5-9f71-e1bfba1cb1c5", "rel": "bookmark"}]}, {"uuid": "083a97e3-99e4-4e95-94ee-8f07ca4b8ad5", "instance_uuid": "ac11fbf3-5eb7-43b9-a21d-94923ca4cd1a", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/083a97e3-99e4-4e95-94ee-8f07ca4b8ad5", "rel": "self"}, {"href": "http://localhost/nodes/083a97e3-99e4-4e95-94ee-8f07ca4b8ad5", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.087473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '5118f91c-73c7-4709-bbec-d98b71bf8621', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d4d26166-b80f-4807-a935-6c2f64ce423c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.077423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-673bf94c-e9e4-4ac1-8d70-6124473fb1ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "ab60d68a-afb5-4efc-8298-977a60e4d89a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/ab60d68a-afb5-4efc-8298-977a60e4d89a", "rel": "self"}, {"href": "http://localhost/nodes/ab60d68a-afb5-4efc-8298-977a60e4d89a", "rel": "bookmark"}]}, {"uuid": "f8429b0a-1685-422a-9595-fc63ed733c1d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/f8429b0a-1685-422a-9595-fc63ed733c1d", "rel": "self"}, {"href": "http://localhost/nodes/f8429b0a-1685-422a-9595-fc63ed733c1d", "rel": "bookmark"}]}, {"uuid": "90e25099-a378-4ec7-a707-3dfb0b701d7d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/90e25099-a378-4ec7-a707-3dfb0b701d7d", "rel": "self"}, {"href": "http://localhost/nodes/90e25099-a378-4ec7-a707-3dfb0b701d7d", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=90e25099-a378-4ec7-a707-3dfb0b701d7d"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.257175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'maintenance'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-66a153ae-9af6-4ffe-b577-76336249c7cb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'management'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a1527690-db0c-46d1-96da-f3dec35b75cb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'states'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f5c4c43-baa1-47ce-be72-2e791a42f58b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'vendor_passthru'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8f5f72d8-dc3e-4033-92e7-7a4c91d1f04f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'detail'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79298b2d-a5c5-4b67-9fc1-2fbbc1e55d7f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH /v1/nodes/deadbeef-0000-1111-2222-333333333333 WITH [{'path': '/name', 'op': 'add', 'value': 'validate'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f44ebf73-0fc5-43ea-9aa8-7d976133015d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.055293s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fields=driver_info,uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2c87f90-733f-4c91-a61d-bf3c3ca2e0a7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "6877ad84-2bce-4737-aabc-a68824b4a9a4", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/6877ad84-2bce-4737-aabc-a68824b4a9a4", "rel": "self"}, {"href": "http://localhost/nodes/6877ad84-2bce-4737-aabc-a68824b4a9a4", "rel": "bookmark"}]}, {"uuid": "f88c5f57-fe29-4747-a178-1c6fc9c71a8f", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/f88c5f57-fe29-4747-a178-1c6fc9c71a8f", "rel": "self"}, {"href": "http://localhost/nodes/f88c5f57-fe29-4747-a178-1c6fc9c71a8f", "rel": "bookmark"}]}, {"uuid": "c785baf5-32a3-4843-9e65-39cbf7318ad2", "driver_info": {"fake": "value"}, "links": [{"href": "http://localhost/v1/nodes/c785baf5-32a3-4843-9e65-39cbf7318ad2", "rel": "self"}, {"href": "http://localhost/nodes/c785baf5-32a3-4843-9e65-39cbf7318ad2", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=c785baf5-32a3-4843-9e65-39cbf7318ad2"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.182043s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8eba5746-710b-4f61-b092-7962a987bf83 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "5928fa6d-7371-4b57-98c2-3612164dee7d", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/5928fa6d-7371-4b57-98c2-3612164dee7d", "rel": "self"}, {"href": "http://localhost/ports/5928fa6d-7371-4b57-98c2-3612164dee7d", "rel": "bookmark"}]}, {"uuid": "95859dee-1008-45db-9fae-d4ed04876258", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/95859dee-1008-45db-9fae-d4ed04876258", "rel": "self"}, {"href": "http://localhost/ports/95859dee-1008-45db-9fae-d4ed04876258", "rel": "bookmark"}]}, {"uuid": "ae4c1a9c-445a-4e12-a366-0f0ca3b3a14d", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/ports/ae4c1a9c-445a-4e12-a366-0f0ca3b3a14d", "rel": "self"}, {"href": "http://localhost/ports/ae4c1a9c-445a-4e12-a366-0f0ca3b3a14d", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.095575s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': '3073e5ca-187d-4180-84ff-7b49cafd24ae', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4941b1ad-a50d-4f68-89ff-ddcfdee3a4c0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.074233s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7488e82f-2a51-41c5-9836-a52d7b7a9fc2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "50b2c67d-f53c-48a2-9e79-bbefddda3222", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/50b2c67d-f53c-48a2-9e79-bbefddda3222", "rel": "self"}, {"href": "http://localhost/nodes/50b2c67d-f53c-48a2-9e79-bbefddda3222", "rel": "bookmark"}]}, {"uuid": "3ad1a1c7-4baa-44a1-8953-1ab05e5084e9", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/3ad1a1c7-4baa-44a1-8953-1ab05e5084e9", "rel": "self"}, {"href": "http://localhost/nodes/3ad1a1c7-4baa-44a1-8953-1ab05e5084e9", "rel": "bookmark"}]}, {"uuid": "749124f7-62f9-4646-9ca3-d48911c55888", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/749124f7-62f9-4646-9ca3-d48911c55888", "rel": "self"}, {"href": "http://localhost/nodes/749124f7-62f9-4646-9ca3-d48911c55888", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=749124f7-62f9-4646-9ca3-d48911c55888"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.138556s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93dca9c8-f372-4e64-8789-182a63f749b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.112268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'HW_CPU_X86_VMX', 'uuid': 'd604e756-999e-4d32-bc98-3cd3167f0cba', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/d604e756-999e-4d32-bc98-3cd3167f0cba Openstack-Request-Id: req-38e214b5-715c-4208-83f3-11445fa62a25 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "d604e756-999e-4d32-bc98-3cd3167f0cba", "created_at": "2025-05-22T18:06:15.999192+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d604e756-999e-4d32-bc98-3cd3167f0cba", "rel": "self"}, {"href": "http://localhost/deploy_templates/d604e756-999e-4d32-bc98-3cd3167f0cba", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.071798s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?instance_uuid=61ce57ee-baef-4634-8ae4-cc34f05168b1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4eae6231-3af1-4b31-a399-65b4dde8b49f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "6180094e-ae62-4552-b0a0-6b158af10ece", "instance_uuid": "61ce57ee-baef-4634-8ae4-cc34f05168b1", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/6180094e-ae62-4552-b0a0-6b158af10ece", "rel": "self"}, {"href": "http://localhost/nodes/6180094e-ae62-4552-b0a0-6b158af10ece", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.059533s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/23054d97-68a4-4a91-a564-390ba47204c7 WITH [{'path': '/allocation_uuid', 'op': 'replace', 'value': '150146a7-a686-42d4-a92a-344dff1a74a9'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-53a86a88-4bac-49f2-bec1-c91dc87ebc4f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /allocation_uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.170219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?sort_key=pxe_enabled WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68d07734-f08a-48a9-b780-0821b881168f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "77683f09-ff94-4ac2-a86b-6210051482ed", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/77683f09-ff94-4ac2-a86b-6210051482ed", "rel": "self"}, {"href": "http://localhost/ports/77683f09-ff94-4ac2-a86b-6210051482ed", "rel": "bookmark"}]}, {"uuid": "c717d193-0e4c-41ee-aeeb-69f645cf18b9", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/c717d193-0e4c-41ee-aeeb-69f645cf18b9", "rel": "self"}, {"href": "http://localhost/ports/c717d193-0e4c-41ee-aeeb-69f645cf18b9", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.067133s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3a7fcb2f-8852-47a7-a566-46ba200b40c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:16.090773+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.067421s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/67d46a8d-f579-4668-bdc1-0541340c8e99 WITH [{'path': '/allocation_uuid', 'op': 'replace', 'value': '7f96fc16-0711-483d-982a-9da0f7219eb6'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-01652f29-07cb-4695-a800-cfb7ba5290a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /allocation_uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.045175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ba1ffa8e-237d-4e38-8405-63fbd196a6e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.035079s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cc937c2a-2bdd-475d-9be0-d0a18260d1ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.173039s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'a76caf22-ce59-4f0e-ac46-18e052a1aa30', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': '42'}], 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/a76caf22-ce59-4f0e-ac46-18e052a1aa30 Openstack-Request-Id: req-69cd0a78-20dd-4f70-b989-f550f53555de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a76caf22-ce59-4f0e-ac46-18e052a1aa30", "created_at": "2025-05-22T18:06:16.180793+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a76caf22-ce59-4f0e-ac46-18e052a1aa30", "rel": "self"}, {"href": "http://localhost/deploy_templates/a76caf22-ce59-4f0e-ac46-18e052a1aa30", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.132814s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d890c527-aa7e-48c6-89c1-0f3252e95c48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/ports?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-939b7bdd-bd77-40a4-bcea-9552b0fd05d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/ports?sort_key=internal_info WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-53e1741a-f21e-4369-b910-0ce38dbdc3c5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/ports?sort_key=local_link_connection WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1dea181e-e834-4853-b519-8781d6a1c567 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.068597s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/4b9f3e7d-eb58-42b1-88d3-33820febb8da WITH [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ddf906b4-6703-4cc8-ad98-d68cf6f7a0f5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /conductor. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.068624s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-00afd5d9-e6f9-4d6f-86c6-00f875d2ecbc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:16.245261+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.066165s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/6f9587a3-41fa-4179-8535-7fe464464b2b WITH [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71168d23-bc04-4b7d-a01f-96da02d2e3ca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.44 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /deploy_step. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.055184s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-122315f0-72a3-4e3b-b892-69fe436ee58f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:16.299484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "46c0bf8a-846d-49a5-9724-5a61a5efa6bf", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.114982s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_DT1', 'uuid': 'ac15b0aa-2619-4115-bc5b-16e28cb103fa', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}], 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-996b58cc-321b-4681-a853-c3319d510556 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.122412s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?sort_key=pxe_enabled WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-35583f8a-5ed6-4b4f-897c-a34ce5405f11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.067511s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0d3cd3b-1beb-4dd8-bad8-2c7f9df78bb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": []} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.116823s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/a5af2445-f2e6-4a9b-9f5b-37cce98431ea WITH [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1779a461-987d-4474-9d1f-e8e7cd2f5848 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.051057s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?project=54321 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-79e55697-7b11-45d4-912f-fcfe812de6fa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.073977s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/67979730-9e62-4309-9f7e-9c5a6818b7e8 WITH [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-32d68b6f-007a-4fb6-b937-4fe16182b320 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /fault. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.091365s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff5f93d6-8c95-4228-8b39-9578d13a46ef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"nodes": [{"uuid": "00642c25-5c4e-4306-a9bd-44f9c27bc8d8", "created_at": "2025-05-22T18:06:16.474464+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "12345", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8", "rel": "self"}, {"href": "http://localhost/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8/states", "rel": "self"}, {"href": "http://localhost/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/00642c25-5c4e-4306-a9bd-44f9c27bc8d8/volume", "rel": "bookmark"}]}, {"uuid": "31dd7e89-8a6a-4873-8c8a-3ed2420e810f", "created_at": "2025-05-22T18:06:16.476690+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "12345", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired _reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f", "rel": "self"}, {"href": "http://localhost/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f/ports", "rel": "self"}, {"href": "http://localhost/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f/states", "rel": "self"}, {"href": "http://localhost/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f/volume", "rel": "self"}, {"href": "http://localhost/nodes/31dd7e89-8a6a-4873-8c8a-3ed2420e810f/volume", "rel": "bookmark"}]}, {"uuid": "dc47e25a-133e-40c7-bf7f-22cb42e6ee88", "created_at": "2025-05-22T18:06:16.482555+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "12345", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88", "rel": "self"}, {"href": "http://localhost/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88/ports", "rel": "self"}, {"href": "http://localhost/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88/states", "rel": "self"}, {"href": "http://localhost/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88/volume", "rel": "self"}, {"href": "http://localhost/nodes/dc47e25a-133e-40c7-bf7f-22cb42e6ee88/volume", "rel": "bookmark"}]}, {"uuid": "653746bf-7186-46ae-a546-df10910eac85", "created_at": "2025-05-22T18:06:16.484736+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "12345", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/653746bf-7186-46ae-a546-df10910eac85", "rel": "self"}, {"href": "http://localhost/nodes/653746bf-7186-46ae-a546-df10910eac85", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/653746bf-7186-46ae-a546-df10910eac85/ports", "rel": "self"}, {"href": "http://localhost/nodes/653746bf-7186-46ae-a546-df10910eac85/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/653746bf-7186-46ae-a546-df10910eac85/states", "rel": "self"}, {"href": "http://localhost/nodes/653746bf-7186-46ae-a546-df10910eac85/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/653746bf-7186-46ae-a546-df10910eac85/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/653746bf-7186-46ae-a546-df10910eac85/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/653746bf-7186-46ae-a546-df10910eac85/volume", "rel": "self"}, {"href": "http://localhost/nodes/653746bf-7186-46ae-a546-df10910eac85/volume", "rel": "bookmark"}]}, {"uuid": "7f53a1ea-a9fe-4851-80df-00f581fc0f95", "created_at": "2025-05-22T18:06:16.486495+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "12345", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95", "rel": "self"}, {"href": "http://localhost/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95/ports", "rel": "self"}, {"href": "http://localhost/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95/states", "rel": "self"}, {"href": "http://localhost/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95/volume", "rel": "self"}, {"href": "http://localhost/nodes/7f53a1ea-a9fe-4851-80df-00f581fc0f95/volume", "rel": "bookmark"}]}, {"uuid": "5dca25fe-1752-4a03-b49c-0ba03456b646", "created_at": "2025-05-22T18:06:16.488282+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "12345", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646", "rel": "self"}, {"href": "http://localhost/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646/ports", "rel": "self"}, {"href": "http://localhost/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646/states", "rel": "self"}, {"href": "http://localhost/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646/volume", "rel": "self"}, {"href": "http://localhost/nodes/5dca25fe-1752-4a03-b49c-0ba03456b646/volume", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.184204s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7d685cda-4a8b-4a84-9bb2-c584fba34352 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.041909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8f0886b9-0609-4386-a67a-3417d9f43ef0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.131068s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-72f94088-c18b-49d1-8c2d-357ac2f7aec6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:16.529064+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.088712s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-93c6a58e-ffef-41b0-89f3-2aa776c51137 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} GET /v1/nodes?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f1195e8-9576-4cab-8dc3-60b15ee77ae9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.321285s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c009dec3-be20-422a-991f-1db8813f0d60 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:16.485197+00:00", "updated_at": "2025-05-22T18:06:16.657567+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1", "network_type": "unmanaged"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.132743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac007657-1f57-47fe-83af-f37db49d2eca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_snmpv3 [0.096324s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3a468a6-46fd-4ee7-9cd9-f8ae6cc60601 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:16.730871+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"snmp_version": 3, "snmp_user": "test-user", "snmp_auth_protocol": "sha", "snmp_auth_key": "******", "snmp_priv_protocol": "aes", "snmp_priv_key": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.175167s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'replace', 'value': 'guido-van-rossum'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a6c88d4-f759-46b5-b40c-d6baaf1b968d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:16.714715+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.146465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b8227fd4-eb02-4542-a345-f42defab4e36 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.118888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 202 Accepted Openstack-Request-Id: req-656165f0-b900-4a44-b339-88c266b4be0b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.080166s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?sort_key=resource_class WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-15bfe7fe-8164-4986-816e-17a2e9ddab2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": [{"uuid": "508f93c0-07b9-47fc-b407-81e73eadd5e9", "created_at": "2025-05-22T18:06:16.822255+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "rc_1", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/508f93c0-07b9-47fc-b407-81e73eadd5e9", "rel": "self"}, {"href": "http://localhost/nodes/508f93c0-07b9-47fc-b407-81e73eadd5e9", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/508f93c0-07b9-47fc-b407-81e73eadd5e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/508f93c0-07b9-47fc-b407-81e73eadd5e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/508f93c0-07b9-47fc-b407-81e73eadd5e9/states", "rel": "self"}, {"href": "http://localhost/nodes/508f93c0-07b9-47fc-b407-81e73eadd5e9/states", "rel": "bookmark"}]}, {"uuid": "829cdcda-51a8-4583-ab71-e6d3c8eeab85", "created_at": "2025-05-22T18:06:16.819953+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "rc_2", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/829cdcda-51a8-4583-ab71-e6d3c8eeab85", "rel": "self"}, {"href": "http://localhost/nodes/829cdcda-51a8-4583-ab71-e6d3c8eeab85", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/829cdcda-51a8-4583-ab71-e6d3c8eeab85/ports", "rel": "self"}, {"href": "http://localhost/nodes/829cdcda-51a8-4583-ab71-e6d3c8eeab85/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/829cdcda-51a8-4583-ab71-e6d3c8eeab85/states", "rel": "self"}, {"href": "http://localhost/nodes/829cdcda-51a8-4583-ab71-e6d3c8eeab85/states", "rel": "bookmark"}]}, {"uuid": "33707d69-50e3-4e7b-bb4d-ce56e4643633", "created_at": "2025-05-22T18:06:16.817594+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_ state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "rc_3", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/33707d69-50e3-4e7b-bb4d-ce56e4643633", "rel": "self"}, {"href": "http://localhost/nodes/33707d69-50e3-4e7b-bb4d-ce56e4643633", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/33707d69-50e3-4e7b-bb4d-ce56e4643633/ports", "rel": "self"}, {"href": "http://localhost/nodes/33707d69-50e3-4e7b-bb4d-ce56e4643633/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/33707d69-50e3-4e7b-bb4d-ce56e4643633/states", "rel": "self"}, {"href": "http://localhost/nodes/33707d69-50e3-4e7b-bb4d-ce56e4643633/states", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.042164s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?sort_key=resource_class WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-324d4dda-51ef-4e94-b5a7-cbdc57c7972f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.102702s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60 WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b2191d38-0e39-4598-b567-7154e8311bb0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "c6f281b2-192e-48ed-bbb4-26380b40aa60", "created_at": "2025-05-22T18:06:16.856765+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60", "rel": "self"}, {"href": "http://localhost/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60/ports", "rel": "self"}, {"href": "http://localhost/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60/states", "rel": "self"}, {"href": "http://localhost/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60/volume", "rel": "self"}, {"href": "http://localhost/nodes/c6f281b2-192e-48ed-bbb4-26380b40aa60/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.055882s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1a328bb-544a-43bb-86e9-b270d1b92e89 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:16.918506+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.113208s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT Response: 202 Accepted Openstack-Request-Id: req-c676d0dd-686f-4992-9cd1-99adf838cff5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.090713s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?detail=True&fields=name WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4890f453-6bc6-4f51-85ae-bbf54e079ec2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.136721s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8201aeb8-b110-4b3d-bf3d-38579fcd06ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "8a374c84-fed9-4dee-a5cf-2171270491a9", "created_at": "2025-05-22T18:06:16.973694+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9", "rel": "self"}, {"href": "http://localhost/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9/ports", "rel": "self"}, {"href": "http://localhost/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9/states", "rel": "self"}, {"href": "http://localhost/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9/volume", "rel": "self"}, {"href": "http://localhost/nodes/8a374c84-fed9-4dee-a5cf-2171270491a9/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.113037s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4c286f2f-f4e8-4e31-af88-651f9c10c53b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.261639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-70939c17-5511-45a4-940a-8ce11ead45de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:16.921612+00:00", "updated_at": "2025-05-22T18:06:17.067544+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.110822s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c207b1e-d201-46aa-8a9b-0f218a23b8d7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "1d311aae-95a4-4f93-b6e0-84ebfa8118e6", "created_at": "2025-05-22T18:06:17.099703+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6", "rel": "self"}, {"href": "http://localhost/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6/ports", "rel": "self"}, {"href": "http://localhost/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6/states", "rel": "self"}, {"href": "http://localhost/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6/volume", "rel": "self"}, {"href": "http://localhost/nodes/1d311aae-95a4-4f93-b6e0-84ebfa8118e6/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.129915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?detail=False&fields=name WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b7e05094-e408-4958-a5f3-b2fcbeadc3c0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.130393s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-468bd433-bdec-4173-85ea-cca2173c93e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 "foo" Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.054038s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?detail=True WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c1af0cf-08c8-41e4-9e4a-6742dba66d6c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.145235s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2f0c017-9065-413a-91a5-58c0be22b3be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_ident, node_uuid, physical_network, portgroup_uuid, pxe_enabled, name, description\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.123287s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565 WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4af98532-9477-4431-a557-84be8c0a80b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "b2f9cccb-b70a-4104-a2ef-c45a982a1565", "created_at": "2025-05-22T18:06:17.230342+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565", "rel": "self"}, {"href": "http://localhost/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565/states", "rel": "self"}, {"href": "http://localhost/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b2f9cccb-b70a-4104-a2ef-c45a982a1565/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.093078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-hardware-type/vendor_passthru WITH {'test_key': 'test_value'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a99556cb-2d57-4e89-9e82-4a39b095413b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.149003s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?associated=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-086e8838-08d8-4c02-ae24-1e95d79553a6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "84f83796-c92e-4395-915c-7bca582f3cad", "created_at": "2025-05-22T18:06:17.294693+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "a7346706-0c9b-4018-bf99-da4fcc195ce6", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/84f83796-c92e-4395-915c-7bca582f3cad", "rel": "self"}, {"href": "http://localhost/nodes/84f83796-c92e-4395-915c-7bca582f3cad", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/84f83796-c92e-4395-915c-7bca582f3cad/ports", "rel": "self"}, {"href": "http://localhost/nodes/84f83796-c92e-4395-915c-7bca582f3cad/ports", "rel": "bookmark"}]}, {"uuid": "0c33c933-fa87-4b76-8371-c018a88447e1", "created_at": "2025-05-22T18:06:17.299361+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "d7520562-177e-46d3-b72e-052221e412ac", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/0c33c933-fa87-4b76-8371-c018a88447e1", "rel": "self"}, {"href": "http://localhost/nodes/0c33c933-fa87-4b76-8371-c018a88447e1", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0c33c933-fa87-4b76-8371-c018a88447e1/ports", "rel": "self"}, {"href": "http://localhost/nodes/0c33c933-fa87-4b76-8371-c018a88447e1/ports", "rel": "bookmark"}]}, {"uuid": "8ffd97a6-157f-4303-a828-f60bb5a56e03", "created_at": "2025-05-22T18:06:17.303900+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "95396892-8c0c-425a-a1b8-9ffe78225711", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/8ffd97a6-157f-4303-a828-f60bb5a56e03", "rel": "self"}, {"href": "http://localhost/nodes/8ffd97a6-157f-4303-a828-f60bb5a56e03", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8ffd97a6-157f-4303-a828-f60bb5a56e03/ports", "rel": "self"}, {"href": "http://localhost/nodes/8ffd97a6-157f-4303-a828-f60bb5a56e03/ports", "rel": "bookmark"}]}, {"uuid": "2950e435-d810-4281-b876-915903016b4b", "created_at": "2025-05-22T18:06:17.312292+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "56b66afc-8e1a-4cd6-aa89-5d7cefb6cc9e", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "pro perties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/2950e435-d810-4281-b876-915903016b4b", "rel": "self"}, {"href": "http://localhost/nodes/2950e435-d810-4281-b876-915903016b4b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2950e435-d810-4281-b876-915903016b4b/ports", "rel": "self"}, {"href": "http://localhost/nodes/2950e435-d810-4281-b876-915903016b4b/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.091380s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type/vendor_passthru/methods WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04ca3d15-bd38-4f98-86e0-89f82c96bba5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"foo": "bar"} GET /v1/drivers/fake-hardware-type/vendor_passthru/methods WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6410212c-c44f-4621-8ada-dc5ed81d73fc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"foo": "bar"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.120541s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6f0025b3-b42a-46d3-b555-5d6e5b3c5780 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "b567cd1e-5aaf-4d23-a5cb-125072f9f6bf", "created_at": "2025-05-22T18:06:17.343298+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf", "rel": "self"}, {"href": "http://localhost/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf/ports", "rel": "self"}, {"href": "http://localhost/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf/states", "rel": "self"}, {"href": "http://localhost/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf/volume", "rel": "self"}, {"href": "http://localhost/nodes/b567cd1e-5aaf-4d23-a5cb-125072f9f6bf/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.188422s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c25deb5-8a76-4933-93d5-d9fdb88ba9fd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:17.315783+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.115356s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?instance_uuid=b032e69c-2df5-4dca-88f4-34bf54191d2d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae08313b-bcdf-458a-aa04-e9034bbb585c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "9b79a4b3-986f-4bb5-91a2-1ccdce670654", "created_at": "2025-05-22T18:06:17.448451+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "b032e69c-2df5-4dca-88f4-34bf54191d2d", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/9b79a4b3-986f-4bb5-91a2-1ccdce670654", "rel": "self"}, {"href": "http://localhost/nodes/9b79a4b3-986f-4bb5-91a2-1ccdce670654", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/9b79a4b3-986f-4bb5-91a2-1ccdce670654/ports", "rel": "self"}, {"href": "http://localhost/nodes/9b79a4b3-986f-4bb5-91a2-1ccdce670654/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.113820s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 202 Accepted Openstack-Request-Id: req-93a1a043-53f3-4184-b3d5-32a4ae5d209d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.146157s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c WITH [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-30ae4140-2d9a-4ca2-84e3-52ad607cb774 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "0c079a3f-b3e6-4ae9-b594-a7c560474d2c", "created_at": "2025-05-22T18:06:17.496811+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c", "rel": "self"}, {"href": "http://localhost/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c/ports", "rel": "self"}, {"href": "http://localhost/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c/states", "rel": "self"}, {"href": "http://localhost/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c/volume", "rel": "self"}, {"href": "http://localhost/nodes/0c079a3f-b3e6-4ae9-b594-a7c560474d2c/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.101324s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-70f87585-cbb4-4d17-bd7e-7e5c66919bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": []} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.127580s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-hardware-type/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7cce95c8-8d3c-43fe-ab58-7099a2e0b3bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.264318s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a158fbc8-1453-496b-b8b4-f87481887395 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:17.519527+00:00", "updated_at": "2025-05-22T18:06:17.670409+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.137703s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9 WITH [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b56b084d-3169-491a-8941-bc019810bf78 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "10479b53-b0b4-447d-9ed6-5f4c06e85cb9", "created_at": "2025-05-22T18:06:17.619660+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9", "rel": "self"}, {"href": "http://localhost/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9/ports", "rel": "self"}, {"href": "http://localhost/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9/states", "rel": "self"}, {"href": "http://localhost/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9/volume", "rel": "self"}, {"href": "http://localhost/nodes/10479b53-b0b4-447d-9ed6-5f4c06e85cb9/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.137331s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a73bd6e7-02a5-471b-a53f-177f977ad1d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "power_interface": null, "raid_interface": null, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.123342s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c98c85b5-9cd8-48f3-a92e-db04cf361e38 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]}]} GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-066bd015-3a97-4609-bfd5-1db142cb1525 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e5761d6b-09a6-4011-93dc-fe5bc7e509c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af31bc08-b411-49d0-a3fe-5e04d2749da1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]} GET /drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9495fdd2-28d0-401f-94fe-384314617797 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.110194s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7 WITH [] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1c62eafe-e14b-4f9f-a0d2-661524b1d618 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "0a0475dd-ba17-4908-a0f8-ff07140402d7", "created_at": "2025-05-22T18:06:17.761796+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7", "rel": "self"}, {"href": "http://localhost/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7/ports", "rel": "self"}, {"href": "http://localhost/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7/states", "rel": "self"}, {"href": "http://localhost/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7/volume", "rel": "self"}, {"href": "http://localhost/nodes/0a0475dd-ba17-4908-a0f8-ff07140402d7/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.108874s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-213150e1-4135-457b-8c74-c93e30ae1f86 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.083429s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9ff WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6f342c92-51d0-495e-aaac-743772ff3b7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.111863s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?fields=name,hosts WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1c5555b7-0c54-4096-80b3-d680564a46af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.108287s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=automated_clean WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c32d8fbd-2055-44fb-b25e-ce3edbd1e4e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"automated_clean": true, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.084998s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-84728db2-ae6b-4609-ab71-bb610e498622 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.110594s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?fields=name,hosts&detail=false WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-873f48b4-bf04-4b47-b5c5-6bda17fd77f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.103724s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9934f19e-b8ac-4d02-99a1-efdb4eecc5bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"boot_device": "pxe", "persistent": true} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.061788s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5b194389-b3ec-42a2-b9e9-2e15a956ba98 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_ident\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.080048s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?detail=true&fields=name,hosts WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5e734f81-a9fb-4d3d-8275-bd3bb3ec6fd9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.116000s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/spam/management/boot_device WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9c028dcb-a35f-4bfb-ac54-e85a124117c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"boot_device": "pxe", "persistent": true} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.112256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/driver', 'value': 'foo', 'op': 'add'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a1e87a5b-15f5-43ca-8356-454045d32f98 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.123226s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?fields=name,invalid WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-28856d1f-9e9b-4f04-9018-814ffbae1fd9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.565504s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-26eeee17-6082-4acc-8e47-175cc2df9f94 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.096926s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f802a58d-6d3d-4f29-894e-1d228f9cdf25 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.091896s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'add', 'value': 'Windows ME'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bcc48681-8404-482e-9804-6a33c307de31 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.069206s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?detail=True WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fa45969f-175d-4c08-8181-0b19fad54876 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.058449s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9fcb8d86-9891-431b-8c67-46eb5a8e58b8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.059743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?detail=False WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bf9f2570-d7bc-4468-aff5-4ff9a7c34b68 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.114815s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/name', 'op': 'add', 'value': 'node-0'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-777fb141-5407-446a-b099-5d475bef9dcf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.120298s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'c34f2d2c-5956-43a1-a94a-6604f5593e72', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-adfff478-f24a-4b51-993c-d803b22cec8a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:18.358104+00:00", "updated_at": "2025-05-22T18:06:18.428227+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "c34f2d2c-5956-43a1-a94a-6604f5593e72"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.076212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/nope WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c6a54941-b78d-4647-90c9-46ced4120cbe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): nope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.184422s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fields=uuid,instance_info WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49928f95-3a79-437f-b7d5-591a1758baa8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "494ff8e1-09f1-4f50-8869-a81e4b4ef340", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/494ff8e1-09f1-4f50-8869-a81e4b4ef340", "rel": "self"}, {"href": "http://localhost/nodes/494ff8e1-09f1-4f50-8869-a81e4b4ef340", "rel": "bookmark"}]}, {"uuid": "66401514-6dd7-415d-b01e-db4ae5d8ae0b", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/66401514-6dd7-415d-b01e-db4ae5d8ae0b", "rel": "self"}, {"href": "http://localhost/nodes/66401514-6dd7-415d-b01e-db4ae5d8ae0b", "rel": "bookmark"}]}, {"uuid": "8d3d2137-313d-427c-a4f4-fe0851f209fd", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/8d3d2137-313d-427c-a4f4-fe0851f209fd", "rel": "self"}, {"href": "http://localhost/nodes/8d3d2137-313d-427c-a4f4-fe0851f209fd", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.128534s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4392be53-0690-40f4-af20-fdb3bd45dfc7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields_as_list [0.098121s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fields=uuid&fields=instance_info WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-79ef01e7-cf01-48f0-8545-d0575d0257e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "7d052c15-512c-48e0-96c0-e20b19ee86e3", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/7d052c15-512c-48e0-96c0-e20b19ee86e3", "rel": "self"}, {"href": "http://localhost/nodes/7d052c15-512c-48e0-96c0-e20b19ee86e3", "rel": "bookmark"}]}, {"uuid": "febd291a-d2bd-4c0d-9d80-8e9ac8e04bcb", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/febd291a-d2bd-4c0d-9d80-8e9ac8e04bcb", "rel": "self"}, {"href": "http://localhost/nodes/febd291a-d2bd-4c0d-9d80-8e9ac8e04bcb", "rel": "bookmark"}]}, {"uuid": "1eaa486a-b3bc-447f-b091-5632b6b546fd", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/1eaa486a-b3bc-447f-b091-5632b6b546fd", "rel": "self"}, {"href": "http://localhost/nodes/1eaa486a-b3bc-447f-b091-5632b6b546fd", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.116776s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5ba9af57-3446-4aaf-86ff-1eb0de29640c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["ansible", "direct"]} GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc05615b-f069-4cee-a6ef-64ab7154da97 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1cf0b398-f38c-4271-8dc8-eb08a426e189 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.202217s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97af9193-5a36-4f56-810b-6000ae56d522 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:18.494211+00:00", "updated_at": "2025-05-22T18:06:18.626474+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.114790s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5b130c01-0b05-4aed-82bb-0e8c35598dd9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.094239s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fields=uuid,power_state,target_power_state,provision_state,target_provision_state,last_error,maintenance,instance_uuid,traits,resource_class WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-00700e26-67a7-42a3-b75f-06ad9f939ac0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "8a5fa14f-e489-4140-9a63-d1dd67597d38", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "f59b74b2-804b-408f-bfd7-c6918bc29cb9", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/8a5fa14f-e489-4140-9a63-d1dd67597d38", "rel": "self"}, {"href": "http://localhost/nodes/8a5fa14f-e489-4140-9a63-d1dd67597d38", "rel": "bookmark"}]}, {"uuid": "8e912c0c-340b-43ef-98b3-97347a7aa6cf", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "fbedaabb-fe9c-42c9-919e-6b30f863b93d", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/8e912c0c-340b-43ef-98b3-97347a7aa6cf", "rel": "self"}, {"href": "http://localhost/nodes/8e912c0c-340b-43ef-98b3-97347a7aa6cf", "rel": "bookmark"}]}, {"uuid": "a64c2308-71cd-44c8-ae8f-44b75f165c74", "power_state": null, "target_power_state": null, "provision_state": "available", "target_provision_state": null, "last_error": null, "maintenance": false, "instance_uuid": "7bfae83a-2de7-46e9-82fb-682098044ed5", "traits": ["CUSTOM_RAID5", "CUSTOM_TRAIT1"], "resource_class": null, "links": [{"href": "http://localhost/v1/nodes/a64c2308-71cd-44c8-ae8f-44b75f165c74", "rel": "self"}, {"href": "http://localhost/nodes/a64c2308-71cd-44c8-ae8f-44b75f165c74", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.120638s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3e224b32-f8f1-4003-8718-49b0d24374f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["ansible", "direct"]} GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-886d3684-846e-45a9-b969-3cf0a4e1eb42 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12685956-7bd7-47e4-b875-d8aaafaa726e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.066925s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fields=name&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e34a6bf4-88a1-4b57-b150-9e8088545e3b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"name": null, "links": [{"href": "http://localhost/v1/nodes/2896a561-c5c5-484b-93c4-2d43b76b606e", "rel": "self"}, {"href": "http://localhost/nodes/2896a561-c5c5-484b-93c4-2d43b76b606e", "rel": "bookmark"}]}, {"name": null, "links": [{"href": "http://localhost/v1/nodes/56688072-8edf-4e57-86cb-0deeafac1832", "rel": "self"}, {"href": "http://localhost/nodes/56688072-8edf-4e57-86cb-0deeafac1832", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=56688072-8edf-4e57-86cb-0deeafac1832"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.109424s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-67ed7b74-fe2a-4fe9-a49e-fe5e074b6634 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_ident, node_uuid, physical_network, portgroup_uuid, pxe_enabled, name, description\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.076351s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc1ccc38-c121-4195-8271-bd488c1e6c37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"drivers": []} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.056223s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12b6cd79-4341-4f66-b107-cd886eba81c0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.151907s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bfbdafb6-a9a1-4ba8-bc07-9dd6f1a7e16f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.059796s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?type=working WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0ab8cc3-be82-46d9-a98a-459232cde0df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.084486s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4cba0aa0-9dfc-4fb4-92ca-32a5cb8b0d20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.063978s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0296a798-0328-4fac-9559-b492b1bc052e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"conductor_group": "", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.180622s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': '', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b42ab0bf-9ac2-4448-8977-e181acae6049 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.096775s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?type=classic WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0beb6bf4-e8bc-458b-a575-a29112760833 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.146376s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_id', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0cb85584-be0a-4870-86d7-ddd237d9d89d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.068649s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-da9e539b-eb2b-4a4a-a18a-518c8ac7c5aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.124268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?type=classic WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35a783e9-b83e-4f4f-be21-9ea2ad206a80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"drivers": []} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.135488s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 1234, 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4719ec0-ccbf-46c0-b8b0-5d73c86655de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.095025s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-13a5123a-b243-4446-9ff1-cb2eda577de6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"console_enabled": true, "console_info": {"test": "test-data"}} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.117304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?type=dynamic WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-480cbd04-13fb-4f4b-be9f-eebe1c047f86 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic"}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.155858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d13b7cff-51cc-4e75-bdb1-449da474c390 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.114720s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/13226678-014e-4129-8292-7c1cbd533ea4 WITH [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ce14b937-14b4-431a-90dc-b1d2924b744b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.170970s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12b589ff-319c-4232-b2ed-3b059f9694e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic"}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic"}]} GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-067611dc-8ba6-4b27-9382-e58c078822a3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5747992a-e189-477b-93b3-92f101912456 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b30e0982-f118-4d43-88ab-e61f7e9a004e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]} GET /drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-590de0a2-e072-4b0e-8238-b5cbe58294de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.302726s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/spam/states/console WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b20386cc-a324-4037-bfdc-79347d6bd5d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"console_enabled": true, "console_info": {"test": "test-data"}} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.120423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2941831b-37b0-4185-966d-5af35374e276 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["ansible", "direct"]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic", "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_deploy_interface": null, "enabled_deploy_interfaces": []}]} GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c930454d-f65c-4214-abc3-10922a3b7bab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8bcad62b-ac28-4989-9ef6-e670da82a5d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7cd0f7cd-2d5f-45b2-b258-43a4a8e67d5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]} GET /drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fc6dbb5d-77c6-4173-9127-0f5394c5c8 e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.088494s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9cc05ef3-59af-4f74-ba5b-08edefe1815d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"console_enabled": false, "console_info": null} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.227534s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/743f82da-ad17-4c32-90ca-49d679055231 WITH [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d911c28-c44d-4dd4-a382-8bf94397cb81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "743f82da-ad17-4c32-90ca-49d679055231", "created_at": "2025-05-22T18:06:19.448035+00:00", "updated_at": "2025-05-22T18:06:19.555783+00:00", "address": "bb:bb:bb:bb:bb:bb", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/743f82da-ad17-4c32-90ca-49d679055231", "rel": "self"}, {"href": "http://localhost/ports/743f82da-ad17-4c32-90ca-49d679055231", "rel": "bookmark"}], "portgroup_uuid": null} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.112272s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11f3d6b3-9212-41d4-a1fa-e4ad9a2881dd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.127242s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49f70549-2f17-479a-8efe-525e68112ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"drivers": [{"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type/properties", "rel": "bookmark"}], "type": "dynamic", "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_deploy_interface": "direct", "enabled_deploy_interfaces": ["ansible", "direct"]}, {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}], "properties": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2/properties", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2/properties", "rel": "bookmark"}], "type": "dynamic", "default_inspect_interface": null, "enabled_inspect_interfaces": [], "default_management_interface": null, "enabled_management_interfaces": [], "default_raid_interface": null, "enabled_raid_interfaces": [], "default_vendor_interface": null, "enabled_vendor_interfaces": [], "default_bios_interface": null, "enabled_bios_interfaces": [], "default_storage_interface": null, "enabled_storage_interfaces": [], "default_network_interface": null, "enabled_network_interfaces": [], "default_console_interface": null, "enabled_console_interfaces": [], "default_firmware_interface": null, "enabled_firmware_interfaces": [], "default_boot_interface": null, "enabled_boot_interfaces": [], "default_power_interface": null, "enabled_power_interfaces": [], "default_rescue_interface": null, "enabled_rescue_interfaces": [], "default_deploy_interface": null, "enabled_deploy_interfaces": []}]} GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d85dc738-3228-4a75-8878-51a5e227ef36 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-33ccf118-8f36-487f-9e9d-ffa7e52e7840 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /v1/drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req- 7cf19e62-b4f6-40ed-9650-ccf233559134 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]} GET /drivers/fake-hardware-type-2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-053ccfc3-1887-44ae-84dd-a8991d929433 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type-2", "hosts": ["fake-host1"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type-2", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type-2", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.104117s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fcaec123-65d3-44ba-a639-5bf11915ea21 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.732275s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4b4518f3-2984-4e8d-9802-59d718c12f65 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:19.045379+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.110177s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a64eea9c-8c68-4b7b-9bb2-240e87691735 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.085002s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers?fields=name,hosts WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ce5429df-9ccd-4784-887d-6b97da3dd852 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET /v1/drivers/fake-hardware-type?fields=name,hosts WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9bfd95dc-1b59-445a-9160-816921921338 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.102751s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/switch_id', 'op': 'remove'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1772c1e0-3f32-4bbd-8fea-3418c8743531 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.081857s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type?fields=name,hosts WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-65ba9d5f-a199-4161-99ec-f9cb63fc9288 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.110177s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7307a84-d663-445a-b2db-f987fad5ef0c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field spongebob is not a valid field.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.069357s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type?fields=name,invalid WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d370ef05-e1d8-4727-b2a6-acd8fded0aec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.194006s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'op': 'remove'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-38d9aad6-7af2-480e-a980-a816a440e799 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.150267s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0020bf41-634d-4363-9848-d8aef5dc67e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'address' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.144842s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=description WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-93a1ef76-4ca4-4e9a-b3d5-12756eff6dc9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"description": "useful piece", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.100015s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e851b984-2d1e-4921-9669-0f9e455e5b0c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5f1d497-7d67-481b-bd01-f48a64bd2187 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-838a78c0-280c-426d-ba70-43eeae3283df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://localhost/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://localhost/drivers/fake-hardware-type", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.105790s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/last_error', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-17d25a92-83b3-44c4-a866-f334cd22ac32 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /last_error. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_disable_power_off_fields [0.153931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=disable_power_off WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a0a6b47-9d7e-443e-9c44-5a0c7cbe9072 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.95 {"disable_power_off": true, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.161801s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3e6d2add-0e55-4309-b43f-6375a745db28 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://foo/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://foo/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /v1/drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff3f4713-b361-4fd8-81c3-7a504d04019a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://foo/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://foo/drivers/fake-hardware-type", "rel": "bookmark"}]} GET /drivers/fake-hardware-type WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d2946571-1dc3-44bd-9741-6f3b51ec269e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "fake-hardware-type", "hosts": ["fake-host1", "fake-host2"], "links": [{"href": "http://foo/v1/drivers/fake-hardware-type", "rel": "self"}, {"href": "http://foo/drivers/fake-hardware-type", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.253284s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e5dd8c0c-57b7-463f-af59-c279d36d0ea9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:19.997205+00:00", "updated_at": "2025-05-22T18:06:20.092365+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ea60baf-ff06-432f-a03d-3b47114ba67d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:19.997205+00:00", "updated_at": "2025-05-22T18:06:20.173871+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.192776s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/driver', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71d11cb3-1ae7-4315-bb9c-9c1e9bb4263e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'driver' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.126469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0bbf554b-f8a8-4cc4-a3ff-8014c38052a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"state": "on"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.138516s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7bc1e3c3-ed46-4fbf-8435-fc73053c7dd3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"foo": "description of foo"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.093544s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-66092f67-4570-433c-b985-fab428be712a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.209375s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa9bfa07-53cf-45d7-a1e6-5a7fef56a40b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_ident, node_uuid, physical_network, portgroup_uuid, pxe_enabled, name, description\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.149993s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec55ad94-bbd3-4aa2-82d1-ef5ec50acdc2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"foo": "description of foo"} GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2f5a1057-822d-46b5-b335-495eeea4e356 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"foo": "description of foo"} GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f01fae9f-df39-4d54-b12b-ab25a7f2e10c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"foo": "description of foo"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.106096s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50859b3a-bcb9-465d-bad5-d030909ddc22 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"state": "on"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.261068s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-28d2021a-fd1f-4d2f-b1ca-a24089235339 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.092022s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=lessee WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ebcdb2b-ac1f-48eb-a9b1-fd9b238afd0f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"lessee": "some-lucky-project", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.147088s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-662fbca9-5e5c-40c4-a605-21cae5faf732 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.193995s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e3cc11de-15be-4aac-b103-aa675d435021 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:20.562288+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.145150s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4a30e8f8-35b3-4655-bf00-e3fa35a47622 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"network_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.068960s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50a623a2-f3c1-415b-b131-cdcdede9c0ef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.058773s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-09ffca30-b034-4624-8d18-31931f34423e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.136650s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-56476539-f4a2-4b86-ae81-818239c41ead X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.287859s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a4d6b245-e1e0-4b56-84f6-173edf9f3e8b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:20.659334+00:00", "updated_at": "2025-05-22T18:06:20.827140+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.143930s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b2b0fea-b59b-4e7d-8ead-f0270b0fa49a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:20.841442+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.162782s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?conductor=rocky.rocks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c134edd-469d-4bf5-999c-e1f072f57f4d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"nodes": []} GET /v1/nodes?conductor=fake.conductor WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e7957993-e004-4c9c-b577-d663f31054b8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"nodes": [{"uuid": "99acfd54-f6b0-4727-8e9c-d3f6329d026c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/99acfd54-f6b0-4727-8e9c-d3f6329d026c", "rel": "self"}, {"href": "http://localhost/nodes/99acfd54-f6b0-4727-8e9c-d3f6329d026c", "rel": "bookmark"}]}, {"uuid": "c6fbbfb1-debf-4135-8acc-45e05e49e407", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c6fbbfb1-debf-4135-8acc-45e05e49e407", "rel": "self"}, {"href": "http://localhost/nodes/c6fbbfb1-debf-4135-8acc-45e05e49e407", "rel": "bookmark"}]}]} GET /v1/nodes?conductor=fake.conductor WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf88dda2-a0ac-4e32-a627-117e279e2be8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"nodes": [{"uuid": "c6fbbfb1-debf-4135-8acc-45e05e49e407", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/c6fbbfb1-debf-4135-8acc-45e05e49e407", "rel": "self"}, {"href": "http://localhost/nodes/c6fbbfb1-debf-4135-8acc-45e05e49e407", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.142109s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'op': 'remove'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-666e3e12-860f-4013-8327-f443e4998c0c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.071385s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/console_enabled', 'op': 'replace', 'value': True}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-19c5601b-ceb9-4dba-942a-5107e0e92c05 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /console_enabled. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.068322s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/power_state', 'op': 'replace', 'value': 'fake-state'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-65f4653f-d9ae-422d-800e-cdd61c6cd768 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /power_state. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.130500s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'op': 'remove'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fb31189e-c8b1-4a9a-b16c-c8b74cafdc8e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.181820s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?conductor_group=group1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b2383da4-3f64-426f-9786-c898fed69fc8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"nodes": [{"uuid": "5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7", "rel": "self"}, {"href": "http://localhost/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7", "rel": "bookmark"}]}]} GET /v1/nodes?conductor_group=group2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c02457df-449f-4e43-a64a-2a56bea514f5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"nodes": [{"uuid": "ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8", "rel": "self"}, {"href": "http://localhost/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8", "rel": "bookmark"}]}]} GET /v1/nodes/detail?conductor_group=group1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d733b3f8-711e-42ba-ad95-7c6652f6f0d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"nodes": [{"uuid": "5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7", "created_at": "2025-05-22T18:06:21.062406+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "group1", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7", "rel": "self"}, {"href": "http://localhost/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7/ports", "rel": "self"}, {"href": "http://localhost/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7/states", "rel": "self"}, {"href": "http://localhost/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7/volume", "rel": "self"}, {"href": "http://localhost/nodes/5721fe10-16f5-4ef6-aa3a-e7fd35d88ff7/volume", "rel": "bookmark"}]}]} GET /v1/nodes/detail?conductor_group=group2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7156199b-1a8b-4a92-8 6f6-90795cf02643 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"nodes": [{"uuid": "ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8", "created_at": "2025-05-22T18:06:21.074023+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "group2", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8", "rel": "self"}, {"href": "http://localhost/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8/ports", "rel": "self"}, {"href": "http://localhost/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8/states", "rel": "self"}, {"href": "http://localhost/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8/volume", "rel": "self"}, {"href": "http://localhost/nodes/ec8a5230-2fd9-42c0-8ad9-9dbc9896d7c8/volume", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.095536s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c73a38f0-c93f-4168-972d-db304d42f935 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_ident, node_uuid, physical_network, portgroup_uuid, pxe_enabled, name, description\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.140197s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e05046ff-15d3-4631-b157-418ab0a8281f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:21.124793+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.838912s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-707da8fc-8f62-448a-b337-624d80002b56 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.088679s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?conductor_group=group1 WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a13dbeea-83ff-440f-8575-96f84b0f43bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} GET /v1/nodes/detail?conductor_group=group1 WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e43d26bc-29f0-4099-acd2-dc9288fb2386 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.080693s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-hardware-type/raid/logical_disk_properties WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-efedbd0a-23f5-4f89-8d5c-72502ae1936f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.177906s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/node-57.1 WITH [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f52c25a7-ad5e-4c9f-a23e-8041873a3eac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:21.268558+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPatch.test_patch_invalid_api_version [0.061350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/inspection_rules/2c74e007-49a7-4aba-85a6-fdba3c66b2f8 WITH [{'op': 'replace', 'path': '/description', 'value': 'New description'}] GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow inspection rules\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.138961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?conductor=like.shadows WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0454e2be-ab4c-4a8d-9c6e-b01dd13ffcb5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"nodes": []} GET /v1/nodes?conductor=like.shadows WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7394939e-127b-405c-8074-e2aa40a848a3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"nodes": []} GET /v1/nodes?conductor=fake.conductor WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a10530c8-5c49-47c4-acd0-58a66c0de235 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Some unexpected thing happened\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.203153s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2d40d28d-e200-4b51-836a-f9719a1bef4d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.091281s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?conductor=rocky.rocks WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-48e3828f-f870-4f70-ab59-f9fad114dd1f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.49\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.147617s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/local_link_connection/switch_id', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b70e8000-7331-4344-be87-361ca8568aab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:21.486866+00:00", "updated_at": "2025-05-22T18:06:21.571734+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPatch.test_set_sensitive_field [0.158848s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/inspection_rules WITH {'uuid': 'fa51c08c-c899-4dfd-b3e0-0841929417c9', 'description': 'an inspection rule', 'sensitive': False, 'phase': 'main', 'priority': 0, 'actions': [{'op': 'set-attribute', 'args': ['/driver', 'idrac'], 'inspection_rule_id': None}], 'conditions': [{'op': 'is-true', 'args': ['{node.auto_discovered}'], 'multiple': 'any', 'inspection_rule_id': None}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/inspection_rules/fa51c08c-c899-4dfd-b3e0-0841929417c9 Openstack-Request-Id: req-026c6ddd-1314-47fc-9200-18bec216d044 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fa51c08c-c899-4dfd-b3e0-0841929417c9", "created_at": "2025-05-22T18:06:21.504619+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "is-true", "args": ["{node.auto_discovered}"]}], "actions": [{"op": "set-attribute", "args": ["/driver", "idrac"], "loop": []}], "links": [{"href": "http://localhost/v1/inspection/fa51c08c-c899-4dfd-b3e0-0841929417c9", "rel": "self"}, {"href": "http://localhost/inspection/fa51c08c-c899-4dfd-b3e0-0841929417c9", "rel": "bookmark"}]} PATCH /v1/inspection_rules/fa51c08c-c899-4dfd-b3e0-0841929417c9 WITH [{'op': 'replace', 'path': '/sensitive', 'value': True}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aac89f65-0c45-4579-80da-3c3c5e088926 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fa51c08c-c899-4dfd-b3e0-0841929417c9", "created_at": "2025-05-22T18:06:21.504619+00:00", "updated_at": "2025-05-22T18:06:21.554448+00:00", "description": "an inspection rule", "priority": 0, "sensitive": true, "phase": "main", "conditions": null, "actions": null, "links": [{"href": "http://localhost/v1/inspection/fa51c08c-c899-4dfd-b3e0-0841929417c9", "rel": "self"}, {"href": "http://localhost/inspection/fa51c08c-c899-4dfd-b3e0-0841929417c9", "rel": "bookmark"}]} PATCH /v1/inspection_rules/fa51c08c-c899-4dfd-b3e0-0841929417c9 WITH [{'op': 'replace', 'path': '/sensitive', 'value': False}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8d76826-8c97-4031-a712-5b93a6ffb79c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'op': 'replace', 'path': '/sensitive', 'value': False}]'. Reason: Inspection rules cannot have the sensitive flag unset.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.225907s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/chassis_uuid', 'value': 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c5a9e7df-dd9a-47b2-9cc5-c94ccdbd488a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPost.test_create_rule [0.080986s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/inspection_rules WITH {'uuid': '7fd402e1-8907-4428-905a-5c69279edf6b', 'description': 'an inspection rule', 'sensitive': False, 'phase': 'main', 'priority': 0, 'actions': [{'op': 'set-attribute', 'args': ['/driver', 'idrac'], 'inspection_rule_id': None}], 'conditions': [{'op': 'is-true', 'args': ['{node.auto_discovered}'], 'multiple': 'any', 'inspection_rule_id': None}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/inspection_rules/7fd402e1-8907-4428-905a-5c69279edf6b Openstack-Request-Id: req-c5ff55ae-076e-4bd7-b6ed-091591411ac9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7fd402e1-8907-4428-905a-5c69279edf6b", "created_at": "2024-08-27T00:00:00+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "is-true", "args": ["{node.auto_discovered}"]}], "actions": [{"op": "set-attribute", "args": ["/driver", "idrac"], "loop": []}], "links": [{"href": "http://localhost/v1/inspection/7fd402e1-8907-4428-905a-5c69279edf6b", "rel": "self"}, {"href": "http://localhost/inspection/7fd402e1-8907-4428-905a-5c69279edf6b", "rel": "bookmark"}]} GET /v1/inspection_rules/7fd402e1-8907-4428-905a-5c69279edf6b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d10cddbb-ca61-4e29-b276-49ceab3f7291 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7fd402e1-8907-4428-905a-5c69279edf6b", "created_at": "2024-08-27T00:00:00+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "is-true", "args": ["{node.auto_discovered}"]}], "actions": [{"op": "set-attribute", "args": ["/driver", "idrac"], "loop": []}], "links": [{"href": "http://localhost/v1/inspection/7fd402e1-8907-4428-905a-5c69279edf6b", "rel": "self"}, {"href": "http://localhost/inspection/7fd402e1-8907-4428-905a-5c69279edf6b", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.101985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0fa28021-8aa1-4aa3-819c-5c66828c76e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:21.611760+00:00", "updated_at": "2025-05-22T18:06:21.673762+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.161820s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?description_contains=cat WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3ccab828-d613-4103-a30c-0c798cd695d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"nodes": [{"uuid": "4c9c97bd-d9db-45ca-9f9f-b614fdd3996d", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/4c9c97bd-d9db-45ca-9f9f-b614fdd3996d", "rel": "self"}, {"href": "http://localhost/nodes/4c9c97bd-d9db-45ca-9f9f-b614fdd3996d", "rel": "bookmark"}]}]} GET /v1/nodes?description_contains=dog WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a5a9e13-2faa-4be5-807b-0bb31d150710 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"nodes": [{"uuid": "1ca38793-723a-4ae6-93ad-f12a60a1641c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ca38793-723a-4ae6-93ad-f12a60a1641c", "rel": "self"}, {"href": "http://localhost/nodes/1ca38793-723a-4ae6-93ad-f12a60a1641c", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.052138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-067651f9-49a0-457c-a363-5e64b15786f9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_ident, node_uuid, physical_network, portgroup_uuid, pxe_enabled, name, description\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPost.test_create_rule_generate_uuid [0.104404s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/inspection_rules WITH {'description': 'an inspection rule', 'sensitive': False, 'phase': 'main', 'priority': 0, 'actions': [{'op': 'set-attribute', 'args': ['/driver', 'idrac'], 'inspection_rule_id': None}], 'conditions': [{'op': 'is-true', 'args': ['{node.auto_discovered}'], 'multiple': 'any', 'inspection_rule_id': None}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/inspection_rules/f66c36da-abac-45b2-bc88-5316504ff4a1 Openstack-Request-Id: req-0197a9e8-f335-46dd-9bd1-f2e98b89827a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "f66c36da-abac-45b2-bc88-5316504ff4a1", "created_at": "2025-05-22T18:06:21.755848+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "is-true", "args": ["{node.auto_discovered}"]}], "actions": [{"op": "set-attribute", "args": ["/driver", "idrac"], "loop": []}], "links": [{"href": "http://localhost/v1/inspection/f66c36da-abac-45b2-bc88-5316504ff4a1", "rel": "self"}, {"href": "http://localhost/inspection/f66c36da-abac-45b2-bc88-5316504ff4a1", "rel": "bookmark"}]} GET /v1/inspection_rules/f66c36da-abac-45b2-bc88-5316504ff4a1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4523cf59-4feb-4672-a8b6-4a78ea4268c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "f66c36da-abac-45b2-bc88-5316504ff4a1", "created_at": "2025-05-22T18:06:21.755848+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "is-true", "args": ["{node.auto_discovered}"]}], "actions": [{"op": "set-attribute", "args": ["/driver", "idrac"], "loop": []}], "links": [{"href": "http://localhost/v1/inspection/f66c36da-abac-45b2-bc88-5316504ff4a1", "rel": "self"}, {"href": "http://localhost/inspection/f66c36da-abac-45b2-bc88-5316504ff4a1", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.148893s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/provision_updated_at', 'op': 'replace', 'value': '2000-01-01 00:00:00'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-97a8f4a8-2440-4c8b-a2cd-9c5ec1b79273 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /provision_updated_at. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.137156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-85642b66-74a1-4ce6-9430-a5808b478caf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:21.786125+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_inspection_rule.TestPost.test_create_rule_with_optional_args [0.101263s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/inspection_rules WITH {'uuid': 'd520f548-99f3-4d34-a955-79959b787cc8', 'description': 'an inspection rule', 'sensitive': False, 'phase': 'main', 'priority': 0, 'actions': [{'op': 'extend-attribute', 'args': {'path': 'properties/capabilities', 'value': 'test:value'}, 'unique': True}, {'op': 'set-attribute', 'args': {'path': 'properties/test', 'value': 'test-value'}}], 'conditions': [{'op': 'eq', 'args': {'values': [5, 5]}, 'force_strings': True}, {'op': 'gt', 'args': {'values': [10, 5]}}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/inspection_rules/d520f548-99f3-4d34-a955-79959b787cc8 Openstack-Request-Id: req-2670a2af-8f2f-4342-a279-46273835be90 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "d520f548-99f3-4d34-a955-79959b787cc8", "created_at": "2025-05-22T18:06:21.865743+00:00", "updated_at": null, "description": "an inspection rule", "priority": 0, "sensitive": false, "phase": "main", "conditions": [{"op": "eq", "args": {"values": [5, 5]}}, {"op": "gt", "args": {"values": [10, 5]}}], "actions": [{"op": "extend-attribute", "args": {"path": "properties/capabilities", "value": "test:value"}, "loop": []}, {"op": "set-attribute", "args": {"path": "properties/test", "value": "test-value"}, "loop": []}], "links": [{"href": "http://localhost/v1/inspection/d520f548-99f3-4d34-a955-79959b787cc8", "rel": "self"}, {"href": "http://localhost/inspection/d520f548-99f3-4d34-a955-79959b787cc8", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.178294s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?driver=ipmi WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-228118ca-8233-48d6-bee5-75c58dc022ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"nodes": [{"uuid": "50c3195c-131e-4d04-bb7a-b21f24f04427", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/50c3195c-131e-4d04-bb7a-b21f24f04427", "rel": "self"}, {"href": "http://localhost/nodes/50c3195c-131e-4d04-bb7a-b21f24f04427", "rel": "bookmark"}]}]} GET /v1/nodes?driver=fake-hardware WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f095d3b-3d12-4df4-995c-1fe58a945f85 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"nodes": [{"uuid": "e96707b6-12a8-4d13-ac31-682686648e8b", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/e96707b6-12a8-4d13-ac31-682686648e8b", "rel": "self"}, {"href": "http://localhost/nodes/e96707b6-12a8-4d13-ac31-682686648e8b", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.100660s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-066bdf39-3126-421d-82e5-f35c35b3062c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.106429s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?driver=fake WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-749e42f6-5232-4f99-89d2-3175562180f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.159655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96c688bc-d0d2-4ce1-9943-364b50ddb081 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.084862s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 204 No Content Openstack-Request-Id: req-2d440be1-9a03-4867-b238-58b8513425d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.098823s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/foo.1 GOT Response: 204 No Content Openstack-Request-Id: req-b1f03c32-53e7-4186-bbb4-0c618ffc9105 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.160052s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fault=power failure WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95affe31-5b0b-4418-99c5-ac84c7875c00 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"nodes": [{"uuid": "debf04c1-6b3a-40e0-af34-af77c6e559b6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6", "rel": "self"}, {"href": "http://localhost/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6", "rel": "bookmark"}]}]} GET /v1/nodes?fault=clean failure WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aa576682-3f6a-46d0-ad27-73ff57278e14 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"nodes": [{"uuid": "a182b68b-7f01-4bc9-8528-90fb8ad56352", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352", "rel": "self"}, {"href": "http://localhost/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352", "rel": "bookmark"}]}]} GET /v1/nodes/detail?fault=power failure WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a9868d2-abe6-4dea-a7b7-e16c99085769 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"nodes": [{"uuid": "debf04c1-6b3a-40e0-af34-af77c6e559b6", "created_at": "2025-05-22T18:06:22.077603+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": "power failure", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6", "rel": "self"}, {"href": "http://localhost/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6/ports", "rel": "self"}, {"href": "http://localhost/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6/states", "rel": "self"}, {"href": "http://localhost/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6/volume", "rel": "self"}, {"href": "http://localhost/nodes/debf04c1-6b3a-40e0-af34-af77c6e559b6/volume", "rel": "bookmark"}]}]} GET /v1/nodes/detail?fault=clean failure WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8b937cf2-570d-4a8b-b2f6-3bef27f4d002 X-Openstack-Ironic-Api-Maximum-V ersion: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"nodes": [{"uuid": "a182b68b-7f01-4bc9-8528-90fb8ad56352", "created_at": "2025-05-22T18:06:22.080469+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": "clean failure", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352", "rel": "self"}, {"href": "http://localhost/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352/ports", "rel": "self"}, {"href": "http://localhost/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352/states", "rel": "self"}, {"href": "http://localhost/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352/volume", "rel": "self"}, {"href": "http://localhost/nodes/a182b68b-7f01-4bc9-8528-90fb8ad56352/volume", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.177775s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6f9ade6f-89cc-4baf-a2e9-dfb3ae10715a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:22.094585+00:00", "updated_at": "2025-05-22T18:06:22.195310+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet2", "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.052212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/foo GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-610e1ac1-5fd6-4e4b-8a97-8773c002450f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.048855s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/foo.json GOT Response: 204 No Content Openstack-Request-Id: req-7a9d1a4b-16a1-41cb-9cee-51b36239501d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.089126s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fault=power failure WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c18603a0-e651-41ae-929e-3ae333475182 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} GET /v1/nodes/detail?fault=power failure WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f2b59343-ce35-489d-9f4d-93ff63c8c4d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.054638s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 202 Accepted Openstack-Request-Id: req-cb838e07-9193-4fa4-86d6-c0f336b9ca4e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.130516s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dc9f0ca3-3a06-41ac-9c4f-bbb476b90628 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.079787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fault=somefake WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0eedd66b-de83-48f6-b92d-92c442fea9b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure', 'service failure')\", \"debuginfo\": null}"} GET /v1/nodes/detail?fault=somefake WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1499452e-2d4a-4be1-846d-fb18fac30f73 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure', 'service failure')\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.050517s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/foo/maintenance GOT Response: 202 Accepted Openstack-Request-Id: req-875fc1aa-1dfb-4701-b3b8-189da0e1c065 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.041200s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-56ba5b06-9530-42fd-aded-02f8ec83e578 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.083839s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?driver=test WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd25df0a-006a-4c80-9c86-6c3a3b4d4068 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"nodes": []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.036351s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/foo GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-59f8309e-f099-483a-a051-aa0220cb4545 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.121471s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e99dd553-9ff0-43d7-a814-63a93a07902a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.047519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/foo GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4424f285-b264-4bd9-8c3f-f2c623763365 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.113655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?provision_state=test WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a861426-1ac8-4446-92d5-dd88bd0d6d1f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.062033s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4e4d89db-2891-4380-97a8-389d0f9c0770 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.057594s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-13bae111-0f0d-46ea-9bf7-7211bfea4c02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.037383s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e7a13bf-8925-4aba-914b-bf133fb3ea8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.871954s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7 WITH [{'path': '/boot_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-151931d4-7d76-4afd-b0dd-45fdf44d5de9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ccfc8453-dbd2-4238-972b-e833f780efe7", "created_at": "2025-05-22T18:06:21.890010+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7 WITH [{'path': '/console_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ad057254-2072-4c39-9374-017c84649a28 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ccfc8453-dbd2-4238-972b-e833f780efe7", "created_at": "2025-05-22T18:06:21.890010+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instan ce_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7 WITH [{'path': '/deploy_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f620c0d4-51d8-4134-bd40-7eb0c2c73069 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ccfc8453-dbd2-4238-972b-e833f780efe7", "created_at": "2025-05-22T18:06:21.890010+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "self"}, {"href": "http://localhost/nodes/cc fc8453-dbd2-4238-972b-e833f780efe7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7 WITH [{'path': '/inspect_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-85a3052e-5c95-4a53-8b40-86e7760cb742 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ccfc8453-dbd2-4238-972b-e833f780efe7", "created_at": "2025-05-22T18:06:21.890010+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7 WITH [{'path': '/ma nagement_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3af99b1b-8248-4d06-bceb-11183116ce6f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ccfc8453-dbd2-4238-972b-e833f780efe7", "created_at": "2025-05-22T18:06:21.890010+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7 WITH [{'path': '/power_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-48eb5db2-475d-45e9-b5ca-41b3156be6dd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ccfc8453-dbd2-4238-972b-e833f780efe7", "created_at": "2025-05-22T18:06:21.890010+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "b ar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7 WITH [{'path': '/raid_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e24e7e1-aa53-4c99-909b-6a9952848109 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ccfc8453-dbd2-4238-972b-e833f780efe7", "created_at": "2025-05-22T18:06:21.890010+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7 WITH [{'path': '/vendor_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c232695b-3997-47d0-8ae3-d443f818c52a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ccfc8453-dbd2-4238-972b-e833f780efe7", "created_at": "2025-05-22T18:06:21.890010+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "self"}, {"href": "http://localhost/nodes/ccfc8453-dbd2-4238-972b-e833f780efe7/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.125112s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?resource_class=test WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-17cdc2b6-3602-4c6f-b4ce-26bbc46787b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.055397s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fcb1cdb4-19ed-4a69-a2c0-f970532c176b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.300194s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': '5e2c3451-e925-42b5-94ed-03a9df47da09', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e2126d2d-b99d-480f-9cde-bcd9bd663de8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:22.560732+00:00", "updated_at": "2025-05-22T18:06:22.732341+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "5e2c3451-e925-42b5-94ed-03a9df47da09"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.055845s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96b22221-8546-483c-a017-2680dfe12443 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.135150s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?resource_class=test WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a6fa41e6-0c01-4ba4-8fe6-4bf6335c316a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.048519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9aa25a53-2187-4eb5-a419-56554828fb37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.207963s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True WITH [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-44b89915-97bd-4ced-93f2-17ce20775768 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.074361s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-99edf740-1b1b-424c-86fa-c4072a17b8af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": []} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.152453s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': '4f0481c7-5af3-49a7-95bd-06f03ea49fdc', 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-161f73c7-0dc7-4150-8db1-c601b9b11075 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.052246s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?detail=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-90570575-4078-48fd-98b4-22686907fa22 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "0a6c4e6a-5ccb-494a-a851-c537fce20c24", "created_at": "2025-05-22T18:06:22.925912+00:00", "severity": null, "event_type": null, "event": "meow", "conductor": "cat-tree1", "user": "peaches", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0a6c4e6a-5ccb-494a-a851-c537fce20c24", "rel": "self"}]}, {"uuid": "3721a7c1-f4fc-4bb2-94c6-baf78212f920", "created_at": "2025-05-22T18:06:22.927149+00:00", "severity": null, "event_type": null, "event": "purr", "conductor": "cat-tree2", "user": "sage", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3721a7c1-f4fc-4bb2-94c6-baf78212f920", "rel": "self"}]}, {"uuid": "bceff102-3a3d-48ca-b596-11ecfae2734e", "created_at": "2025-05-22T18:06:22.927938+00:00", "severity": null, "event_type": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!", "conductor": "cat-tree3", "user": "bella", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bceff102-3a3d-48ca-b596-11ecfae2734e", "rel": "self"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.058976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9ba0097d-e956-48a2-b13f-87a4cdfa000c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "88ffd6fc-64f4-4b3c-8328-ebc2def624ea", "created_at": "2025-05-22T18:06:22.982980+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/88ffd6fc-64f4-4b3c-8328-ebc2def624ea", "rel": "self"}]}, {"uuid": "ee6bbfa5-bcdf-4e50-b607-1a0a0f5c23f8", "created_at": "2025-05-22T18:06:22.983929+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ee6bbfa5-bcdf-4e50-b607-1a0a0f5c23f8", "rel": "self"}]}, {"uuid": "35c96e27-1733-4706-be44-910dd757145b", "created_at": "2025-05-22T18:06:22.984649+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/35c96e27-1733-4706-be44-910dd757145b", "rel": "self"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.223628s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?lessee=project1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c3cd2f24-6f9c-4509-a54b-d6a4fb762fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"nodes": [{"uuid": "d2b126ed-501e-400b-acb1-c64450756fd2", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/d2b126ed-501e-400b-acb1-c64450756fd2", "rel": "self"}, {"href": "http://localhost/nodes/d2b126ed-501e-400b-acb1-c64450756fd2", "rel": "bookmark"}]}]} GET /v1/nodes?lessee=project2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7c63faf-04ac-46af-9135-4f641747dacf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"nodes": [{"uuid": "8760aec9-bab3-4943-9e80-c1731e44dab7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7", "rel": "self"}, {"href": "http://localhost/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7", "rel": "bookmark"}]}]} GET /v1/nodes/detail?lessee=project1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1bb18f6d-0f41-400c-87f2-70a6687c0002 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"nodes": [{"uuid": "d2b126ed-501e-400b-acb1-c64450756fd2", "created_at": "2025-05-22T18:06:22.899029+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project1", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d2b126ed-501e-400b-acb1-c64450756fd2", "rel": "self"}, {"href": "http://localhost/nodes/d2b126ed-501e-400b-acb1-c64450756fd2", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d2b126ed-501e-400b-acb1-c64450756fd2/ports", "rel": "self"}, {"href": "http://localhost/nodes/d2b126ed-501e-400b-acb1-c64450756fd2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d2b126ed-501e-400b-acb1-c64450756fd2/states", "rel": "self"}, {"href": "http://localhost/nodes/d2b126ed-501e-400b-acb1-c64450756fd2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d2b126ed-501e-400b-acb1-c64450756fd2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d2b126ed-501e-400b-acb1-c64450756fd2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d2b126ed-501e-400b-acb1-c64450756fd2/volume", "rel": "self"}, {"href": "http://localhost/nodes/d2b126ed-501e-400b- acb1-c64450756fd2/volume", "rel": "bookmark"}]}]} GET /v1/nodes/detail?lessee=project2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-613a15aa-6b2c-490e-a05e-623004a6a503 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"nodes": [{"uuid": "8760aec9-bab3-4943-9e80-c1731e44dab7", "created_at": "2025-05-22T18:06:22.900904+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project2", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7", "rel": "self"}, {"href": "http://localhost/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7/states", "rel": "self"}, {"href": "http://localhost/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8760aec9-bab3-4943-9e80-c1731e44dab7/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.170821s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True WITH [{'path': '/name', 'value': 'new name', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8198667e-0a9f-4693-a6aa-ec94d185d1a4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The reset_interfaces parameter can only be used when changing the node's driver.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_with_sort [0.065988s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?sort_dir=desc WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-33e5d84c-cc09-4348-acb6-9177fa2c58b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "f6b1bf60-ce34-4eca-b827-60c7f822ec96", "created_at": "2025-05-22T18:06:23.051518+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f6b1bf60-ce34-4eca-b827-60c7f822ec96", "rel": "self"}]}, {"uuid": "85951f51-5114-4966-a8a3-e3e5bc60279e", "created_at": "2025-05-22T18:06:23.050481+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/85951f51-5114-4966-a8a3-e3e5bc60279e", "rel": "self"}]}, {"uuid": "132e8d45-cc48-45d3-a792-57c1a0ff458b", "created_at": "2025-05-22T18:06:23.049373+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/132e8d45-cc48-45d3-a792-57c1a0ff458b", "rel": "self"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.051367s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.114570s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?lessee=project1 WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c9633fdc-15de-47d2-b21d-24111809c55c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} GET /v1/nodes/detail?lessee=project1 WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-857fbc16-2fd2-4071-9bbb-90bad8637903 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.240096s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'a98c9ace-6cb2-46e2-8e82-97bd24fcbff6', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-14ed960b-75b8-42b2-b4e9-959a1c14b241 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:23.003653+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.116944s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-226088a7-4eff-426e-931d-87d73e81d0d2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "97ffccd0-24fc-4dee-b772-1df76bd45414", "created_at": "2025-05-22T18:06:23.165818+00:00", "severity": null, "event": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/97ffccd0-24fc-4dee-b772-1df76bd45414", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=None&sort_key=created_at&sort_dir=asc&fields=uuid,created_at,severity,event&limit=1&marker=97ffccd0-24fc-4dee-b772-1df76bd45414"} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=97ffccd0-24fc-4dee-b772-1df76bd45414 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b377a587-6303-4a91-ac73-4008be3f767f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "83934a29-3cdd-4647-88a3-bd5263b53d32", "created_at": "2025-05-22T18:06:23.166906+00:00", "severity": null, "event": "purr", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/83934a29-3cdd-4647-88a3-bd5263b53d32", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2025-05-22T18:06:23Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=97ffccd0-24fc-4dee-b772-1df76bd45414)&sort_key=created_at&sort_dir=asc&fields=uuid,created_at,severity,event&limit=1&marker=83934a29-3cdd-4647-88a3-bd5263b53d32"} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=83934a29-3cdd-4647-88a3-bd5263b53d32 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31a851c9-1a85-42dc-8c60-8b837c41d9d3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "f1da21d3-513b-43a6-a5bc-7f7b54df9c78", "created_at": "2025-05-22T18:06:23.167847+00:00", "severity": null, "event": "grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f1da21d3-513b-43a6-a5bc-7f7b54df9c78", "rel": "self"}]}], "next": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2025-05-22T18:06:23Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=83934a29-3cdd-4647-88a3-bd5263b53d32)&sort_key=created_at&sort_dir=asc&fields=uuid,created_at,severity,event&limit=1&marker=f1da21d3-513b-43a6-a5bc-7f7b54df9c78"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.065238s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7e7b78bf-f7bd-4cda-a3b1-e91dac21ce24 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-84b652f7-9d8d-4b88-96dd-4fe98bcb0407 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "7e7b78bf-f7bd-4cda-a3b1-e91dac21ce24", "created_at": "2025-05-22T18:06:23.288248+00:00", "severity": null, "event_type": null, "event": "meow", "conductor": "cat-tree1", "user": "peaches", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7e7b78bf-f7bd-4cda-a3b1-e91dac21ce24", "rel": "self"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_not_found [0.050990s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/52949728-59fc-4651-84c8-b0a16b469372 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2d26e3be-d327-4f1f-bbdc-d1b252b95ff3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node history record 52949728-59fc-4651-84c8-b0a16b469372 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.216600s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?owner=fred WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-10c6bc9e-0a14-4d70-b8e0-30d6cd3940e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"nodes": [{"uuid": "14db2736-61ea-4f6b-afdf-254416a16209", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/14db2736-61ea-4f6b-afdf-254416a16209", "rel": "self"}, {"href": "http://localhost/nodes/14db2736-61ea-4f6b-afdf-254416a16209", "rel": "bookmark"}]}]} GET /v1/nodes?owner=bob WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-637c8012-65c7-47ee-88d6-c5f1cb168947 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"nodes": [{"uuid": "e7265f87-5123-42e5-aaf7-c86b05fb20f1", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1", "rel": "self"}, {"href": "http://localhost/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1", "rel": "bookmark"}]}]} GET /v1/nodes/detail?owner=fred WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2216adaf-ac2c-4b2e-b9ae-2c3f5e5cb55b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"nodes": [{"uuid": "14db2736-61ea-4f6b-afdf-254416a16209", "created_at": "2025-05-22T18:06:23.251192+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "fred", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/14db2736-61ea-4f6b-afdf-254416a16209", "rel": "self"}, {"href": "http://localhost/nodes/14db2736-61ea-4f6b-afdf-254416a16209", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/14db2736-61ea-4f6b-afdf-254416a16209/ports", "rel": "self"}, {"href": "http://localhost/nodes/14db2736-61ea-4f6b-afdf-254416a16209/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/14db2736-61ea-4f6b-afdf-254416a16209/states", "rel": "self"}, {"href": "http://localhost/nodes/14db2736-61ea-4f6b-afdf-254416a16209/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/14db2736-61ea-4f6b-afdf-254416a16209/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/14db2736-61ea-4f6b-afdf-254416a16209/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/14db2736-61ea-4f6b-afdf-254416a16209/volume", "rel": "self"}, {"href": "http://localhost/nodes/14db2736-61ea-4f6b-afdf-254416a16209/volume", "rel": "bookmark"}]}]} GET /v1/nodes/detail?owner=bob WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7262679e-d4ba-407d-a910-b65eaf142cb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"nodes": [{"uuid": "e7265f87-5123-42e5-aaf7-c86b05fb20f1", "created_at": "2025-05-22T18:06:23.261330+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "bob", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1", "rel": "self"}, {"href": "http://localhost/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1/states", "rel": "self"}, {"href": "http://localhost/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1/volume", "rel": "self"}, {"href": "http://localhost/nodes/e7265f87-5123-42e5-aaf7-c86b05fb20f1/volume", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.055883s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1234 WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_multi_shard_as_list [0.051387s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?shard=foo&shard=bar WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae36f360-feb4-4ade-a011-f9a700999b2d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "895d474e-b949-4656-aaf1-c57b19f5fb42", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/895d474e-b949-4656-aaf1-c57b19f5fb42", "rel": "self"}, {"href": "http://localhost/nodes/895d474e-b949-4656-aaf1-c57b19f5fb42", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.090903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?owner=fred WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ffb12919-f238-40b4-a0a3-d7706997abc1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} GET /v1/nodes/detail?owner=fred WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1bb3ecc7-814e-4b37-852b-e08258ec5b4f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.432941s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/d167195e-3008-48fa-baaf-91f91daed60d WITH [{'path': '/network_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22c9070f-dd83-4d42-8ca1-7f766a47d1cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "d167195e-3008-48fa-baaf-91f91daed60d", "created_at": "2025-05-22T18:06:23.250418+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d167195e-3008-48fa-baaf-91f91daed60d", "rel": "self"}, {"href": "http://localhost/nodes/d167195e-3008-48fa-baaf-91f91daed60d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d167195e-3008-48fa-baaf-91f91daed60d/ports", "rel": "self"}, {"href": "http://localhost/nodes/d167195e-3008-48fa-baaf-91f91daed60d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d167195e-3008-48fa-baaf-91f91daed60d/states", "rel": "self"}, {"href": "http://localhost/nodes/d167195e-3008-48fa-baaf-91f91daed60d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d167195e-3008-48fa-baaf-91f91daed60d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d167195e-3008-48fa-baaf-91f91daed60d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d167195e-3008-48fa-baaf-91f91daed60d/volume", "rel": "self"}, {"href": "http://localhost/nodes/d167195e-3008-48fa-baaf-91f91daed60d/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.311505s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/portgroup_uuid', 'value': 'e6296d38-2e7f-489d-9e7d-d3af5589cd1b', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '65eaafc8-1386-4bee-bd16-b3b62503587c', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c74ce2c6-f249-418e-a4c3-41d7c6d48b58 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:23.256133+00:00", "updated_at": "2025-05-22T18:06:23.437233+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "65eaafc8-1386-4bee-bd16-b3b62503587c"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_multi_shard_detail [0.043533s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?shard=foo,bar WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b4b05c85-8c0b-42fc-a262-3ab156a4700b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "b0a92399-a28d-42af-934f-9257a4afb286", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/b0a92399-a28d-42af-934f-9257a4afb286", "rel": "self"}, {"href": "http://localhost/nodes/b0a92399-a28d-42af-934f-9257a4afb286", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard [0.047302s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?shard=foo WITH {'fields': 'shard'} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac525983-615f-47af-a628-d94bda429f48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"nodes": [{"shard": "foo", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard_detail_fails_wrong_version [0.039327s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?shard=foo WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a9ea51e4-6041-4536-99bd-580ed2b03ff9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.82\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.123501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?provision_state=available WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4d042cd-0833-4da4-8648-4332732a481a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"nodes": [{"uuid": "67189537-461b-47da-9081-5f7cddb5ada7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/67189537-461b-47da-9081-5f7cddb5ada7", "rel": "self"}, {"href": "http://localhost/nodes/67189537-461b-47da-9081-5f7cddb5ada7", "rel": "bookmark"}]}]} GET /v1/nodes?provision_state=deploying WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5cb90ed-94d7-4a93-afb6-2d49b9b7aa02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"nodes": [{"uuid": "5b79b156-30d8-491e-bf2f-350113f2ff01", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "deploying", "name": null, "links": [{"href": "http://localhost/v1/nodes/5b79b156-30d8-491e-bf2f-350113f2ff01", "rel": "self"}, {"href": "http://localhost/nodes/5b79b156-30d8-491e-bf2f-350113f2ff01", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_shard_fails_wrong_version [0.063555s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?shard=foo WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2a6ed047-9ddd-4fc0-9c4d-7a4c98abaa8e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.82\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.074867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?provision_state=test WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b9ae1bd9-384a-4763-9ddb-d8b153e9f574 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_sharded [0.051456s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?sharded=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cfec4031-f476-440d-8c04-38d0e171ca1f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} GET /v1/nodes?sharded=false WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d03e43a4-54d5-40f7-ae94-5fc0fc0bf32a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"nodes": [{"uuid": "e76bdf42-644f-4d4d-a9b5-4cab54c4055f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/e76bdf42-644f-4d4d-a9b5-4cab54c4055f", "rel": "self"}, {"href": "http://localhost/nodes/e76bdf42-644f-4d4d-a9b5-4cab54c4055f", "rel": "bookmark"}]}, {"uuid": "a465dca2-a289-457d-acf7-07d158b7db65", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/a465dca2-a289-457d-acf7-07d158b7db65", "rel": "self"}, {"href": "http://localhost/nodes/a465dca2-a289-457d-acf7-07d158b7db65", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.241206s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b41e267-e106-437a-ae9f-b81f2ead7c9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:23.581941+00:00", "updated_at": "2025-05-22T18:06:23.712693+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.324207s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599 WITH [{'path': '/storage_interface', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ccf5639e-2f25-4044-a3f7-dd7ee50bb3ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "eaae5cb9-7be9-4750-b488-ae34e064a599", "created_at": "2025-05-22T18:06:23.637086+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599", "rel": "self"}, {"href": "http://localhost/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599/ports", "rel": "self"}, {"href": "http://localhost/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599/states", "rel": "self"}, {"href": "http://localhost/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599/volume", "rel": "self"}, {"href": "http://localhost/nodes/eaae5cb9-7be9-4750-b488-ae34e064a599/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.119883s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?resource_class=foo WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4048f76c-2d9f-4275-b3fc-8640430f7d76 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": [{"uuid": "7ec27441-5942-4d6b-a480-61f3563c4796", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/7ec27441-5942-4d6b-a480-61f3563c4796", "rel": "self"}, {"href": "http://localhost/nodes/7ec27441-5942-4d6b-a480-61f3563c4796", "rel": "bookmark"}]}]} GET /v1/nodes?resource_class=bar WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f4f6b12-a836-4898-9a50-755f2727a984 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": [{"uuid": "40d049f8-5c9c-4ede-944d-615e000b9d9c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/40d049f8-5c9c-4ede-944d-615e000b9d9c", "rel": "self"}, {"href": "http://localhost/nodes/40d049f8-5c9c-4ede-944d-615e000b9d9c", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.118199s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/pxe_enabled', 'value': False, 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-88a5a582-b9a4-4078-a187-43553218684a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.113934s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?resource_class=foo WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-843dbe28-db58-4efe-a172-cfb9600ad5c3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": [{"uuid": "7515c845-0220-4a82-8395-58c66cc9254c", "created_at": "2025-05-22T18:06:23.866690+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "foo", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/7515c845-0220-4a82-8395-58c66cc9254c", "rel": "self"}, {"href": "http://localhost/nodes/7515c845-0220-4a82-8395-58c66cc9254c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7515c845-0220-4a82-8395-58c66cc9254c/ports", "rel": "self"}, {"href": "http://localhost/nodes/7515c845-0220-4a82-8395-58c66cc9254c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7515c845-0220-4a82-8395-58c66cc9254c/states", "rel": "self"}, {"href": "http://localhost/nodes/7515c845-0220-4a82-8395-58c66cc9254c/states", "rel": "bookmark"}]}]} GET /v1/nodes/detail?resource_class=bar WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ee084846-3d44-4d5c-8eca-3db9dbe89ad1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": [{"uuid": "20b0b649-8a53-4da3-b4cd-46272994c835", "created_at": "2025-05-22T18:06:23.869297+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "bar", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/20b0b649-8a53-4da3-b4cd-46272994c835", "rel": "self"}, {"href": "http://localhost/nodes/20b0b649-8a53-4da3-b4cd-46272994c835", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/20b0b649-8a53-4da3-b4cd-46272994c835/ports", "rel": "self"}, {"href": "http://localhost/nodes/20b0b649-8a53-4da3-b4cd-46272994c835/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/20b0b649-8a53-4da3-b4cd-46272994c835/states", "rel": "self"}, {"href": "http://localhost/nodes/20b0b649-8a53-4da3-b4cd-46272994c835/states", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.048141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?resource_class=fake WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-772b1a3f-1b22-4887-b5f6-3b53d38c9aab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_filtering_by_single_shard_detail [0.285152s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?shard=foo WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2362d001-13f5-4245-ad0e-c107cdb2090e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:23.744042+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": "foo", "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.158590s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6cd78191-8fd1-4ede-a344-4c0c80c9759b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.230562s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/ffe2f39f-eada-4d12-9731-1b8cb763f89b WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d9688d3-1754-41e8-af42-7923219a2613 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "ffe2f39f-eada-4d12-9731-1b8cb763f89b", "created_at": "2025-05-22T18:06:23.902825+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": true, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": "power off", "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/ffe2f39f-eada-4d12-9731-1b8cb763f89b", "rel": "self"}, {"href": "http://localhost/nodes/ffe2f39f-eada-4d12-9731-1b8cb763f89b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ffe2f39f-eada-4d12-9731-1b8cb763f89b/ports", "rel": "self"}, {"href": "http://localhost/nodes/ffe2f39f-eada-4d12-9731-1b8cb763f89b/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.086897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?resource_class=fake WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f0d440fb-a302-48d4-a738-061c0c891862 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_get_node_shard_field [0.090181s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-18faeff2-3a85-41f6-90bb-1dc6a483ef7e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.058766+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": "foo", "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.082109s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/52:54:00:cf:2d:31 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d5fcd96d-3587-4ebc-8afe-d35619f6837b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID or name for port_ident: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.073227s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?traits=CUSTOM_TRAIT_1 WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9b25178f-0f11-4e74-9254-1541aa30218c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardGets.test_get_node_shard_field_fails_wrong_version [0.088304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c421837-ad89-49ca-9c18-28ba362badd5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.147875+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.050089s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?traits=CUSTOM_TRAIT_1 WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b621c7b2-964b-43aa-981e-a1c6350bc406 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.234324s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/593cc7e2-2c05-4c09-9050-6422e5c3c547 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b8cd0a79-6b75-488e-8815-064576a0b4b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "593cc7e2-2c05-4c09-9050-6422e5c3c547", "created_at": "2025-05-22T18:06:24.141337+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": "power off", "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/593cc7e2-2c05-4c09-9050-6422e5c3c547", "rel": "self"}, {"href": "http://localhost/nodes/593cc7e2-2c05-4c09-9050-6422e5c3c547", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/593cc7e2-2c05-4c09-9050-6422e5c3c547/ports", "rel": "self"}, {"href": "http://localhost/nodes/593cc7e2-2c05-4c09-9050-6422e5c3c547/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.203495s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a471e34-227c-409e-be30-433d589a21be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:24.194173+00:00", "updated_at": "2025-05-22T18:06:24.306822+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.199710s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-808a2879-66aa-42e6-806b-201d36e12473 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9951d87e-622e-456f-8177-ee60640dda25 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.282565s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42a1ea25-855b-46f0-8244-7f3d45e11468 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.459071+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.248759s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3 WITH [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbafb8d7-12b7-4e4d-a8ad-25b14a7b6216 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "d1cb83cf-6f15-4cc9-884f-f0edfd8959d3", "created_at": "2025-05-22T18:06:24.384856+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3", "rel": "self"}, {"href": "http://localhost/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3/ports", "rel": "self"}, {"href": "http://localhost/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3/states", "rel": "self"}, {"href": "http://localhost/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3/volume", "rel": "self"}, {"href": "http://localhost/nodes/d1cb83cf-6f15-4cc9-884f-f0edfd8959d3/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_configdrive_dict [0.044288s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-39a0d5b9-00bc-443a-8b01-b0ddc01e98ee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.504000+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.187392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fa91bfa9-31c0-4669-a7b2-d5397c52ee4b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:24.393203+00:00", "updated_at": "2025-05-22T18:06:24.512495+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.176394s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-683a899e-6873-4cf3-995c-d24a3ca4f3cc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.517417+00:00", "updated_at": null, "automated_clean": true, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5c48c950-a9ab-440a-971e-ef86982c42a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.517417+00:00", "updated_at": null, "automated_clean": true, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.058448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f1abde8e-2193-4554-9274-ad370c97d333 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.116240s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/9f3a05e8-0d66-4990-9344-68f204c019d8 WITH [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f51f6499-c131-4abc-bb92-d3837862176e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_as_list [0.055827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra&fields=instance_info WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-362a3b5a-ec65-4197-948a-bb51d9bee6d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.159383s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-46a1b772-22ab-4097-bd1b-0b46923b1228 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update port \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c781\\\" on \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.052373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dc0b630f-3848-465f-9db6-34b4880db7e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"driver_info": {"fake_password": "******"}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.130312s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b1f12757-9df7-46d8-a708-eff51cc88459 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.131068s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/7008e010-5976-4016-b963-50ab22cf975d WITH [{'path': '/automated_clean', 'value': False, 'op': 'replace'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2f11b223-36aa-4280-8699-f2c2b937e059 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_deleted_chassis [0.071165s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7311625-b011-442d-8674-6d70b0e510e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.743434+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.094500s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/34d521b4-4ced-4fa7-9ad5-68d966f182eb WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1b2a302b-0758-450c-8adb-4189cb199303 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 34d521b4-4ced-4fa7-9ad5-68d966f182eb could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json_in_name [0.045683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/node.json.json WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35c6de70-a833-4b66-8d4c-0620a09c2ff6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.791171+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node.json.json", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.045066s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3481111d-15d5-446c-8210-795ce5902caa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.838646+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.136341s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/node-57.1 WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c9131c2d-61e3-45cd-8825-db95b34b3d42 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-57.1 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.049898s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/node.json WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b4f64d9-76f2-4ef8-a16e-dbe7b581638f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.884172+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node.json", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.247652s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-465b9a8f-2c2d-4bcf-a667-1a243b92494b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2bfbc90-6c4f-4a95-8861-632648ea5d0a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': 'd4586a61-4797-4c7e-b214-2b5fcc9813be', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be Openstack-Request-Id: req-9d041cb3-b78e-4dcf-a84e-53351b5c7222 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d4586a61-4797-4c7e-b214-2b5fcc9813be", "created_at": "2000-01-01T00:00:00+00:00", "upda ted_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be", "rel": "self"}, {"href": "http://localhost/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be/ports", "rel": "bookmark"}]} GET /v1/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e000a9f8-48aa-43da-899b-7dd1f9f0b566 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d4586a61-4797-4c7e-b214-2b5fcc9813be", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be", "rel": "self"}, {"href": "http://localhost/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be/ports", "rel": "self"}, {"href": "http://localhost/nodes/d4586a61-4797-4c7e-b214-2b5fcc9813be/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_not_found [0.054324s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-46e0a185-e2bd-422d-a37f-40065af82f31 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.054190s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35ca8dcd-fddb-46a0-bbb7-424bddac8b8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:24.999411+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"agent_secret_token": "******", "agent_secret_token_pregenerated": "******"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.044844s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/test.1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d49cef5-5c17-4832-89a2-649be6e861a9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.048514+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "test.1", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.138653s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-381553df-36d8-4de9-9f58-be89182f07ef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.058301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=owner WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1748bca6-86bd-40e8-9c94-5f339ea96a52 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"owner": "fred", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.046275s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=protected WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-edd30725-41d8-43f5-8720-bc70ba90cab1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"protected": true, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.276931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3 WITH [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7613a84-623b-43b9-80a4-c938af4bf87a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "f73b171e-667f-4bb2-8a13-c14fd61fb5b3", "created_at": "2025-05-22T18:06:25.011730+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3", "rel": "self"}, {"href": "http://localhost/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3/ports", "rel": "self"}, {"href": "http://localhost/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3/states", "rel": "self"}, {"href": "http://localhost/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3/volume", "rel": "self"}, {"href": "http://localhost/nodes/f73b171e-667f-4bb2-8a13-c14fd61fb5b3/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.057675s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=retired WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40ca59f4-f2d5-41c1-8290-57357031ab3e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"retired": true, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.181687s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-ea079518-4f44-46a2-99e5-68ebca0f6593 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.230884+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d70537ae-3c93-47cd-88e5-19ca6cbb1e4d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.230884+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.058210s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e3212b23-18bf-4a08-b922-204f5cbfd0a0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"storage_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.132340s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/a75af090-cb59-415a-ae98-2871cc723583 WITH [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2a733b6c-d6d0-43a6-ae0f-b97e0869ba73 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.040932s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e4297b65-f6f8-4dd3-ac3b-9400ece7c860 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.068500s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f9d724f3-f382-44c1-9162-739e05a03cfc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"supported_boot_devices": ["pxe"]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.052678s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/spam/management/boot_device/supported WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e03252b-eb4d-471c-b431-54d39bd6d187 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"supported_boot_devices": ["pxe"]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.192838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-2f67a7d6-aa8a-476b-9e1d-b6a5fe3a33e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.410702+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d5c7c346-13bc-4987-b91c-7be7dbcfac09 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.410702+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8722b93b-a800-4046-bb27-498ca81bedff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.410702+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "i nspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.045318s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-efb3895b-602b-45b3-b51b-df28058e27df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.043086s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aa0954b4-f6a8-476b-bba4-4dfd5d2eaf2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"indicators": [{"name": "led@chassis", "component": "chassis", "readonly": true, "states": ["OFF", "ON"], "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.054500s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d221cf33-2895-4740-bdea-3bc550586093 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.827420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e89f55aa-1550-4c5f-8824-05a6a59ab456 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:25.454403+00:00", "updated_at": "2025-05-22T18:06:25.598217+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.337430s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059 WITH [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-74918a60-a9f1-4414-bae1-5b20179ef286 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "9581c751-52ff-4727-a8ab-feee7bfa1059", "created_at": "2025-05-22T18:06:25.459690+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059", "rel": "self"}, {"href": "http://localhost/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059/ports", "rel": "self"}, {"href": "http://localhost/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059/states", "rel": "self"}, {"href": "http://localhost/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059/volume", "rel": "self"}, {"href": "http://localhost/nodes/9581c751-52ff-4727-a8ab-feee7bfa1059/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.049129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20538ac0-9a44-4a9d-91c5-f63633deda51 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"indicators": [{"name": "led@chassis", "component": "chassis", "readonly": true, "states": ["OFF", "ON"], "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.054448s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb2c98d5-d9f6-479b-9b56-9e4c1c43ed22 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": [], "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.263400s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': 'useful stuff', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-11c6ca0b-3a75-441a-b796-8bf3d61fbab2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.655766+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": "useful stuff", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e236ad61-5dc1-4e6a-b5ac-16c460bdb3f0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.655766+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fak e", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": "useful stuff", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.044263s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-60de8cae-beef-4719-846b-526c9e2ffa13 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.145177s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/f558cbf0-fe6a-444c-9670-e97a66d80d63 WITH [{'path': '/description', 'value': '123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812 3456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-05263b2d-b824-4c99-92fd-dc2cd7fa4e46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node with description exceeding 4096 characters\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.061238s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=allocation_uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de7db65d-ec38-490d-ab58-287e8978e104 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "allocation_uuid": "cfceb857-0556-4730-83f5-7cc9315620c5"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.132569s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781 234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7253e353-4af2-40d9-8c7f-834ce129d4d6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781 234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.065050s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8547b37-d8b2-4010-9fd9-eda6a2ad633c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.850157+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-92d37b0e-f8ec-4c6a-8156-147628bc7126 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.7 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.850157+00:00", "updated_at": null, "clean_step": {"foo": "bar"}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.261745s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7e807610-1d9c-4f68-8cce-0595f688482b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:25.717441+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.063765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7ff5089-1f23-4563-971c-cf6713791fed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.914541+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a5d2be71-6ce1-46ef-a4a1-73fd867fdc7e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.914541+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "useful piece", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.061180s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0acd87e0-7e0b-424c-b677-28088667afdd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.978135+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07ded1c8-b276-45f7-a351-e769e88dab8b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.3 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:25.978135+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"foo": "bar"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.138693s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ef019827-e87a-4d1b-8dfd-385b910dcb56 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.275246s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/driver', 'value': 'bad-driver', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8fa6841f-3222-4e50-aa59-bcb3f01a837b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_disable_power_off [0.213460s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'disable_power_off': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a76982bc-aa36-4b96-970f-0a0e3bd84f8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.022489+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": true, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0be0768-8bc2-46a4-87a4-0f7e8706d65a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.022489+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode" : null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": true, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.062676s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.134939s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35882cec-fdac-4db3-a11f-24a426626890 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.078351+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-441cd948-df9a-4007-8041-e0ae1c33a244 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.078351+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": "2015-03-18T19:20:00+00:00", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.112800s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.145638s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-467bd422-46de-4c08-8a46-85373760926d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.219386+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]}]} GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04cf9665-3475-4267-948e-a53ed158fdfd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.219386+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_bmc_address_as_none [0.151196s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': None, 'bmc_v6address': None, 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-a1558261-4c83-4109-916c-d72015f3c573 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "9e6962d1-5e30-4a61-9fd8-346e357ca834"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.301587s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/driver_info/this', 'value': 'foo', 'op': 'add'}, {'path': '/driver_info/that', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8ae6cf08-3387-40ee-b5b9-6663a7c0f060 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_disable_power_off_old_api_version [0.267637s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'disable_power_off': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-83aae3be-59d7-4a6b-9730-9e5d40723af3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.94 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.124363s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f31be947-3204-470a-bf77-47d405009e32 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.355323+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9faedfd1-7187-4ca2-b3fa-68863a0242f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.355323+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "fish", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.067824s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e09ccd69-7a67-40a5-a64d-dee0c152e4de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.454178+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]}]} GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2c31e7e-07ad-40e1-95e4-92d3fcd68675 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.454178+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_inspector_compatibility [0.121370s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-a8af8ef1-7b3b-4963-b8b8-6bda1b6f7bfd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e760bffd-fea5-45df-a28c-d1ade1cd138c"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.054612s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a9bfcd1e-b364-405d-8a77-ebe268635763 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.514342+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]}]} GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3df16858-7328-47d7-8a91-3e846f8c7efe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.514342+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "foo", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_on_disabled_bios_boot_mode [0.168689s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ WITH [{'path': '/properties/capabilities', 'value': 'boot_mode:bios', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-91ba4208-ed1e-42ea-9d6b-7a55e592fecf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'bios' boot mode is not allowed for provisioning operation.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_invalid_schema [0.093225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42'}, 'test': 42} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf6840a7-eb9c-46fd-bd99-924aa6335551 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for data: 'interfaces' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.071802s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a75254c7-e3e1-42e4-860b-5a025504d723 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.569686+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-552e71e3-26a8-4add-8eb8-cb9c1758f5b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.569686+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uui d": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.237213s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'foo': 123}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-bc3c6faf-7db5-4062-8a33-19bcbd238caa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.573833+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"foo": 123}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-624c2374-3558-493f-b075-fa889811f6c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.573833+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"foo": 123}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.075778s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35f96a75-f6ce-4dc6-9b39-d537bc84f89c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.648210+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4321c82-1cf6-4fe7-90d3-4c752304b582 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.648210+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["CUSTOM_1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c 02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_new_api [0.106867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-82e58fb6-36b8-416f-9189-f5a9e1bf038a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "cfbf09b6-7507-48a3-8e27-b9e9a5bf38a2", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value"}, "links": [{"href": "http://localhost/v1/nodes/cfbf09b6-7507-48a3-8e27-b9e9a5bf38a2", "rel": "self"}, {"href": "http://localhost/nodes/cfbf09b6-7507-48a3-8e27-b9e9a5bf38a2", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "noop", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": null, "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_on_disabled_uefi_boot_mode [0.177527s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ WITH [{'path': '/properties/capabilities', 'value': 'boot_mode:uefi', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6605200-7ba6-4de0-98aa-c960f5c1f927 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'uefi' boot mode is not allowed for provisioning operation.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_no_usable_lookup_data [0.086891s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'interfaces': [{'mac_address': 'meow'}]}, 'test': 42} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d9b84b45-669e-4ba8-9a88-6e222cb7f28e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No lookup information provided\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.111656s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-72595cd4-1e13-4ec0-a75f-eb1c988d0c69 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.758756+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5ed78804-056c-4ed1-baa5-d4f9a8bd44e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.758756+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "b ookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_default_conductor_group [0.190827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'mouse', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-b30e6a75-153c-4b23-a272-e7b6c429650e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.770124+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "mouse", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5e5505de-a96e-4495-ad48-ffac018a38f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:26.770124+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "mouse", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive" : "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspection.test_old_api_version [0.084964s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a7432faf-8b2d-4401-b788-145246c80e5e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"API version 1.84 or newer is required\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_on_invalid_boot_mode [0.135879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.107824s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-986b29c1-3396-4e5b-b967-60b02387402f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5084975c-c59a-41e9-aaa9-0ec67c270cf3", "created_at": "2025-05-22T18:06:26.847805+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3", "rel": "self"}, {"href": "http://localhost/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3/ports", "rel": "self"}, {"href": "http://localhost/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3/ports", "rel": "bookmark"}]} GET /v1/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d36c287-8b7e-4d32-bf14-2aa1a397ff2c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5084975c-c59a-41e9-aaa9-0ec67c270cf3", "created_at": "2025-05-22T18:06:26.847805+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3", "rel": "self"}, {"href": "http://localhost/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3/ports", "rel": "self"}, {"href": "http://localhost/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3/ports", "rel": "bookmark"}]} GET /nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23fcd346-9346-4dea-bd9d-ef88a517f5ba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5084975c-c59a-41e9-aaa9-0ec67c270cf3", "created_at": "2025-05-22T18:06:26.847805+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3", "rel": "self"}, {"href": "http://localhost/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3/ports", "rel": "self"}, {"href": "http://localhost/nodes/5084975c-c59a-41e9-aaa9-0ec67c270cf3/ports", "rel ": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_enroll [0.093334s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-904a4238-875b-4374-99ec-5a319f5a2455 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "304bb79f-130f-4ddb-871f-9cc6e0ab8137"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.089460s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e8c1d7e-db60-44e6-84bc-5885ffffb22a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "aa6bebdf-ffef-4dda-821a-7329666857fe", "created_at": "2025-05-22T18:06:26.946965+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://foo/v1/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe", "rel": "self"}, {"href": "http://foo/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe/ports", "rel": "self"}, {"href": "http://foo/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe/ports", "rel": "bookmark"}]} GET /v1/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fa79a40e-e66f-4de5-985a-c27cfa285cc7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "aa6bebdf-ffef-4dda-821a-7329666857fe", "created_at": "2025-05-22T18:06:26.946965+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://foo/v1/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe", "rel": "self"}, {"href": "http://foo/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe/ports", "rel": "self"}, {"href": "http://foo/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe/ports", "rel": "bookmark"}]} GET /nodes/aa6bebdf-ffef-4dda-821a-7329666857fe WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e17984ad-314d-48b8-acc5-aa85b996216e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "aa6bebdf-ffef-4dda-821a-7329666857fe", "created_at": "2025-05-22T18:06:26.946965+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://foo/v1/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe", "rel": "self"}, {"href": "http://foo/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://foo/v1/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe/ports", "rel": "self"}, {"href": "http://foo/nodes/aa6bebdf-ffef-4dda-821a-7329666857fe/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.213468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'neutron', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-191b5e6b-dbc7-4d72-b394-40f5f63ea1a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "neutron", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7dc787da-9a6f-48cf-a252-bdc070d0cd6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "neutron", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_override_defaults [0.099170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-e18cea92-7025-49aa-9d63-0caf9054835e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d49871e7-edd1-4f71-8849-e275cb2242c4"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.123974s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?maintenance=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd8c27d2-8924-45d2-ae25-953fd3ceb2b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "6d66825d-6470-4efc-b437-a2abbecbf5cf", "instance_uuid": null, "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/6d66825d-6470-4efc-b437-a2abbecbf5cf", "rel": "self"}, {"href": "http://localhost/nodes/6d66825d-6470-4efc-b437-a2abbecbf5cf", "rel": "bookmark"}]}, {"uuid": "5d21814d-35b1-4261-9d82-5e46710a2d47", "instance_uuid": null, "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5d21814d-35b1-4261-9d82-5e46710a2d47", "rel": "self"}, {"href": "http://localhost/nodes/5d21814d-35b1-4261-9d82-5e46710a2d47", "rel": "bookmark"}]}]} GET /v1/nodes?maintenance=false WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bfcec673-7fda-4597-8e49-45fc7e3b6ab0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "2fe83333-8298-416f-910f-9c7bdd128c20", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/2fe83333-8298-416f-910f-9c7bdd128c20", "rel": "self"}, {"href": "http://localhost/nodes/2fe83333-8298-416f-910f-9c7bdd128c20", "rel": "bookmark"}]}, {"uuid": "27d26a4c-399e-4ed2-a332-4263d193a24c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/27d26a4c-399e-4ed2-a332-4263d193a24c", "rel": "self"}, {"href": "http://localhost/nodes/27d26a4c-399e-4ed2-a332-4263d193a24c", "rel": "bookmark"}]}, {"uuid": "69b6142d-b7a1-455d-928c-47bdc5f407f3", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/69b6142d-b7a1-455d-928c-47bdc5f407f3", "rel": "self"}, {"href": "http://localhost/nodes/69b6142d-b7a1-455d-928c-47bdc5f407f3", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionAutoDiscovery.test_wrong_driver [0.092627s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-784ff8ad-a0b7-403c-b0f0-a82fbd34b1ee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"An unknown exception occurred.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.040639s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.065557s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.217189s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'class2', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-cf9884bd-7fd6-4720-a5c3-5a4e43968089 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:27.197397+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "class2", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22ff38a8-a049-4855-b22c-0fe210c99fec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:27.197397+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "class2", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-0 3f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.069264s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.070299s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.069747s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.396461s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?associated=true&maintenance=false WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9f9ca713-cd13-4162-8a94-115ec48f9f9a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "c8bf9474-b5fc-4164-8b63-bacfe1bedb70", "instance_uuid": "5a5fdf3c-007d-4221-a13c-c2f0285c9184", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/c8bf9474-b5fc-4164-8b63-bacfe1bedb70", "rel": "self"}, {"href": "http://localhost/nodes/c8bf9474-b5fc-4164-8b63-bacfe1bedb70", "rel": "bookmark"}]}, {"uuid": "af3a74b8-e8a0-4cd0-a924-872bc5ba3be2", "instance_uuid": "9198418e-626d-4037-8f93-eda54fd6cac5", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/af3a74b8-e8a0-4cd0-a924-872bc5ba3be2", "rel": "self"}, {"href": "http://localhost/nodes/af3a74b8-e8a0-4cd0-a924-872bc5ba3be2", "rel": "bookmark"}]}, {"uuid": "57de270b-d0a7-4c9e-a43f-65b889c08e29", "instance_uuid": "9a74599c-5852-4448-a837-63005697ab30", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/57de270b-d0a7-4c9e-a43f-65b889c08e29", "rel": "self"}, {"href": "http://localhost/nodes/57de270b-d0a7-4c9e-a43f-65b889c08e29", "rel": "bookmark"}]}, {"uuid": "20ed3a62-a684-4595-a9cc-5127bd8e6692", "instance_uuid": "58767766-be05-4d58-86aa-362da51a7111", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/20ed3a62-a684-4595-a9cc-5127bd8e6692", "rel": "self"}, {"href": "http://localhost/nodes/20ed3a62-a684-4595-a9cc-5127bd8e6692", "rel": "bookmark"}]}]} GET /v1/nodes?associated=true&maintenance=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-507218bb-45a3-4a52-ad41-6419f620d023 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": "9cddaaf9-da11-4049-83b1-ce070bbaa100", "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} GET /v1/nodes?associated=true&maintenance=TruE WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-278b621f-65e1-41df-9a1f-9ce207e0079e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": "9cddaaf9-da11-4049-83b1-ce070bbaa100", "maintenance": true, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.068831s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.284929s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-9b5dcda4-bb35-4e59-8a9a-2cfb542b3048 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f610a670-4032-4d98-8fe5-277e1211e207 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_in terface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.035647s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?associated=true&maintenance=blah WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c7e95c23-b4cc-4dfa-8537-7b4ad4437e14 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid maintenance: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.060030s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.059182s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42fd84d2-0761-4bf5-8edd-f03e83b84406 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "da09fb6f-2089-41ed-81fb-3a720a04f274", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/da09fb6f-2089-41ed-81fb-3a720a04f274", "rel": "self"}, {"href": "http://localhost/nodes/da09fb6f-2089-41ed-81fb-3a720a04f274", "rel": "bookmark"}]}, {"uuid": "5afaf19b-f120-41c4-8540-6326471c768e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/5afaf19b-f120-41c4-8540-6326471c768e", "rel": "self"}, {"href": "http://localhost/nodes/5afaf19b-f120-41c4-8540-6326471c768e", "rel": "bookmark"}]}, {"uuid": "c95289e3-8e81-4bc5-a7ea-584103fd7608", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/c95289e3-8e81-4bc5-a7ea-584103fd7608", "rel": "self"}, {"href": "http://localhost/nodes/c95289e3-8e81-4bc5-a7ea-584103fd7608", "rel": "bookmark"}]}, {"uuid": "a67e5832-f60c-4479-aca9-0ec61ceed4f5", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/a67e5832-f60c-4479-aca9-0ec61ceed4f5", "rel": "self"}, {"href": "http://localhost/nodes/a67e5832-f60c-4479-aca9-0ec61ceed4f5", "rel": "bookmark"}]}, {"uuid": "34262870-8bd4-4452-a58e-784348f67573", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/34262870-8bd4-4452-a58e-784348f67573", "rel": "self"}, {"href": "http://localhost/nodes/34262870-8bd4-4452-a58e-784348f67573", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.032204s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5534620c-434a-4eae-a56b-95f729845a89 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.065941s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_escaped_complex_path [0.069624s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_fails_on_disabled_bios_boot_mode [0.209743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'capabilities': 'boot_mode:bios'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bb05f627-aed1-48bb-a599-4c4cdfbf2398 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'bios' boot mode is not allowed for provisioning operation.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.104064s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97e6c38d-b861-4137-8c3a-2cf609f0ef01 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"nodes": [{"uuid": "83744c6d-eec7-41e8-a680-f2323efb87c1", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-0", "links": [{"href": "http://localhost/v1/nodes/83744c6d-eec7-41e8-a680-f2323efb87c1", "rel": "self"}, {"href": "http://localhost/nodes/83744c6d-eec7-41e8-a680-f2323efb87c1", "rel": "bookmark"}]}, {"uuid": "4ced2788-ca6f-4de2-857f-fb29bb9caa24", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-1", "links": [{"href": "http://localhost/v1/nodes/4ced2788-ca6f-4de2-857f-fb29bb9caa24", "rel": "self"}, {"href": "http://localhost/nodes/4ced2788-ca6f-4de2-857f-fb29bb9caa24", "rel": "bookmark"}]}, {"uuid": "aece5704-3f6f-44ac-bd07-30f7cd480716", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-2", "links": [{"href": "http://localhost/v1/nodes/aece5704-3f6f-44ac-bd07-30f7cd480716", "rel": "self"}, {"href": "http://localhost/nodes/aece5704-3f6f-44ac-bd07-30f7cd480716", "rel": "bookmark"}]}, {"uuid": "4ca7e63c-f098-4889-a060-00ef19b61bdd", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-3", "links": [{"href": "http://localhost/v1/nodes/4ca7e63c-f098-4889-a060-00ef19b61bdd", "rel": "self"}, {"href": "http://localhost/nodes/4ca7e63c-f098-4889-a060-00ef19b61bdd", "rel": "bookmark"}]}, {"uuid": "c9946fe3-99f8-4ffa-9153-c96dc72ceba3", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": "node-4", "links": [{"href": "http://localhost/v1/nodes/c9946fe3-99f8-4ffa-9153-c96dc72ceba3", "rel": "self"}, {"href": "http://localhost/nodes/c9946fe3-99f8-4ffa-9153-c96dc72ceba3", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_escaped_slash [0.070907s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.074200s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?project=54321 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f11ae7c0-051a-41c8-8ae5-bf71ccc41bb0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_escaped_tilde [0.071587s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.076647s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c19e2290-81c0-4638-ad9d-a866dea6f7b2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"nodes": [{"uuid": "58b10bbc-d177-4398-9f2e-7d04253d506c", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/58b10bbc-d177-4398-9f2e-7d04253d506c", "rel": "self"}, {"href": "http://localhost/nodes/58b10bbc-d177-4398-9f2e-7d04253d506c", "rel": "bookmark"}]}, {"uuid": "a886975a-178b-4964-bcc7-842e42f2ab0a", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/a886975a-178b-4964-bcc7-842e42f2ab0a", "rel": "self"}, {"href": "http://localhost/nodes/a886975a-178b-4964-bcc7-842e42f2ab0a", "rel": "bookmark"}]}, {"uuid": "2656cbb6-352b-4dc5-b0fb-d89ea58094b5", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/2656cbb6-352b-4dc5-b0fb-d89ea58094b5", "rel": "self"}, {"href": "http://localhost/nodes/2656cbb6-352b-4dc5-b0fb-d89ea58094b5", "rel": "bookmark"}]}, {"uuid": "e062f2ae-9155-4e82-83e8-ef7897585a28", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/e062f2ae-9155-4e82-83e8-ef7897585a28", "rel": "self"}, {"href": "http://localhost/nodes/e062f2ae-9155-4e82-83e8-ef7897585a28", "rel": "bookmark"}]}, {"uuid": "80645ee4-cc98-4a7f-9616-90cc142890d3", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/80645ee4-cc98-4a7f-9616-90cc142890d3", "rel": "self"}, {"href": "http://localhost/nodes/80645ee4-cc98-4a7f-9616-90cc142890d3", "rel": "bookmark"}]}, {"uuid": "06ac7398-431c-40a8-bacc-8476a7121bca", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/06ac7398-431c-40a8-bacc-8476a7121bca", "rel": "self"}, {"href": "http://localhost/nodes/06ac7398-431c-40a8-bacc-8476a7121bca", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_incomplete_escape [0.073469s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.058804s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fe146558-c4a8-41a2-8856-b35911f7d664 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_fails_on_disabled_uefi_boot_mode [0.220967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'capabilities': 'boot_mode:uefi'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d598d762-70b2-44e2-a6ca-9efab1a1e696 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'uefi' boot mode is not allowed for provisioning operation.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.067206s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8eac73b-32de-428f-925e-81485b93e364 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.017079+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e54606e7-a3ab-434d-9f5b-3516c5a9ef92 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.2 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.017079+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_invalid_escape_sequence [0.080668s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.069750s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/?limit=3&associated=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-211f1f34-029e-4dbe-8db7-5c08c5cdc0fa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "e2c18116-5d0d-474e-83e6-cdc0954352b4", "instance_uuid": "63a3ee42-17e7-4c06-9fb4-471b335b17ef", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e2c18116-5d0d-474e-83e6-cdc0954352b4", "rel": "self"}, {"href": "http://localhost/nodes/e2c18116-5d0d-474e-83e6-cdc0954352b4", "rel": "bookmark"}]}, {"uuid": "371c6e0d-0393-4f2e-874b-37f1ebbeb701", "instance_uuid": "a2e6891d-e88f-49eb-8530-cf138a955249", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/371c6e0d-0393-4f2e-874b-37f1ebbeb701", "rel": "self"}, {"href": "http://localhost/nodes/371c6e0d-0393-4f2e-874b-37f1ebbeb701", "rel": "bookmark"}]}, {"uuid": "7b8ab7d0-bb68-4981-a11b-89376d83a4e4", "instance_uuid": "a0c1caef-f9bb-4edb-917a-8bb533d71f4a", "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/7b8ab7d0-bb68-4981-a11b-89376d83a4e4", "rel": "self"}, {"href": "http://localhost/nodes/7b8ab7d0-bb68-4981-a11b-89376d83a4e4", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=7b8ab7d0-bb68-4981-a11b-89376d83a4e4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_fails_on_invalid_boot_mode [0.133664s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_slash [0.106021s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_with_tilde [0.085089s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.066165s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.206607s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail?limit=3&associated=true WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf761128-eba8-4056-b855-63b96462e8b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "7682ca4e-c4dc-43fb-8a0b-a591f96c0496", "created_at": "2025-05-22T18:06:28.250398+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "29915d0b-c384-4a6f-8904-a83484b15ca2", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/7682ca4e-c4dc-43fb-8a0b-a591f96c0496", "rel": "self"}, {"href": "http://localhost/nodes/7682ca4e-c4dc-43fb-8a0b-a591f96c0496", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7682ca4e-c4dc-43fb-8a0b-a591f96c0496/ports", "rel": "self"}, {"href": "http://localhost/nodes/7682ca4e-c4dc-43fb-8a0b-a591f96c0496/ports", "rel": "bookmark"}]}, {"uuid": "962e4d2f-5ee0-4ad4-bdfb-9e9d6f595cd5", "created_at": "2025-05-22T18:06:28.253340+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "a465e954-0f36-4c3f-a9a3-81470628f07c", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/962e4d2f-5ee0-4ad4-bdfb-9e9d6f595cd5", "rel": "self"}, {"href": "http://localhost/nodes/962e4d2f-5ee0-4ad4-bdfb-9e9d6f595cd5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/962e4d2f-5ee0-4ad4-bdfb-9e9d6f595cd5/ports", "rel": "self"}, {"href": "http://localhost/nodes/962e4d2f-5ee0-4ad4-bdfb-9e9d6f595cd5/ports", "rel": "bookmark"}]}, {"uuid": "8d31673b-e25b-4176-8b80-68a9a59e805d", "created_at": "2025-05-22T18:06:28.270507+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": "f677161b-168e-4f6c-a0b5-ba9338776396", "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/8d31673b-e25b-4176-8b80-68a9a59e805d", "rel": "self"}, {"href": "http://localhost/nodes/8d31673b-e25b-4176-8b80-68a9a59e805d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8d31673b-e25b-4176-8b80-68a9a59e805d/ports", "rel": "self"}, {"href": "http://localhost/nodes/8d31673b-e25b-4176-8b80-68a9a59e805d/ports", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=8d31673b-e25b-4176-8b80-68a9a59e805d"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.057518s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.048974s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.299175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68bfd7be-fe5c-4521-b592-7f89c0880b68 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.bios' entrypoint: foo. Valid interfaces are ['fake', 'no-bios'].\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.112814s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0281150-fe3b-4f46-af58-c4960ae340e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.392817+00:00", "updated_at": null, "automated_clean": false, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.057058s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.043879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.125816s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1c8ce95-37d4-4463-9aa3-ee66830fd348 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.499484+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eea38da5-1664-48b2-9da7-abb612f6c963 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.499484+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "targe t_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.083459s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.237813s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 0} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-85380557-ec11-4a85-a78e-857bbef90f1c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 0 is not of type 'string', 'null'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.143408s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51fb65bf-1be2-494f-8ab6-88bc0435cda4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.680998+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.106760s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.113645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9309f224-8378-4225-b1d4-dedfbed939a0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.783755+00:00", "updated_at": null, "automated_clean": true, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.113450s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.205869s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fc25f63e-d6b1-4b21-a788-51f931b3ba86 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.065521s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce125747-8f52-4fa5-889e-e2a593ebb918 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.856294+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6002c0f6-e40b-46bd-b241-ec3119f58ca4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.856294+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nod es/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.083660s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.057704s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/64116245-0b71-4968-808b-75227e37fb0b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-58914bf8-c9d8-4dd4-b05d-80c2431c05fe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"uuid": "64116245-0b71-4968-808b-75227e37fb0b", "created_at": "2025-05-22T18:06:28.919039+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": "bios", "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/64116245-0b71-4968-808b-75227e37fb0b", "rel": "self"}, {"href": "http://localhost/nodes/64116245-0b71-4968-808b-75227e37fb0b", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/64116245-0b71-4968-808b-75227e37fb0b/ports", "rel": "self"}, {"href": "http://localhost/nodes/64116245-0b71-4968-808b-75227e37fb0b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/64116245-0b71-4968-808b-75227e37fb0b/states", "rel": "self"}, {"href": "http://localhost/nodes/64116245-0b71-4968-808b-75227e37fb0b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/64116245-0b71-4968-808b-75227e37fb0b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/64116245-0b71-4968-808b-75227e37fb0b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/64116245-0b71-4968-808b-75227e37fb0b/volume", "rel": "self"}, {"href": "http://localhost/nodes/64116245-0b71-4968-808b-75227e37fb0b/volume", "rel": "bookmark"}]} GET /v1/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-891d08db-e552-4e28-8ef6-f823d4dd6e0e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"uuid": "73414a84-fd8d-4feb-88d2-b0cb9173b063", "created_at": "2025-05-22T18:06:28.933303+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": "uefi", "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {} , "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063", "rel": "self"}, {"href": "http://localhost/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063/ports", "rel": "self"}, {"href": "http://localhost/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063/states", "rel": "self"}, {"href": "http://localhost/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063/volume", "rel": "self"}, {"href": "http://localhost/nodes/73414a84-fd8d-4feb-88d2-b0cb9173b063/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.077663s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.073874s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4fd6ceac-799f-4ed6-913f-eabbb11fc224 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.989518+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-167376fb-320b-472f-a38a-70bb89dc3b9c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:28.989518+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.061398s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.086431s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3f58052-138e-4809-aae6-8f8156f02a90 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.066426+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.088442s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.061114s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?instance_uuid=1dfc17ad-25c4-40c8-a325-5335134161fb WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aef15392-8dce-4304-9986-292b1cdbc1ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"nodes": [{"uuid": "7ee1b7bf-c9c9-45d7-a8f3-2d98253207ec", "instance_uuid": "1dfc17ad-25c4-40c8-a325-5335134161fb", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/7ee1b7bf-c9c9-45d7-a8f3-2d98253207ec", "rel": "self"}, {"href": "http://localhost/nodes/7ee1b7bf-c9c9-45d7-a8f3-2d98253207ec", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.330126s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ff42554-fb12-4247-b216-ad0470de4d12 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'neutron', 'noop'].\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.064664s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.063762s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?instance_uuid=fake WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-018df11b-e369-484c-b70d-dac0c0309e20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for instance_uuid: fake\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [2.382897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/b89f2159-e707-47fa-b3a5-3fc898b5a096 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8e6a4d73-7b06-4b21-802e-64d27bee92c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "b89f2159-e707-47fa-b3a5-3fc898b5a096", "created_at": "2025-05-22T18:06:27.019592+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "deploy failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/b89f2159-e707-47fa-b3a5-3fc898b5a096", "rel": "self"}, {"href": "http://localhost/nodes/b89f2159-e707-47fa-b3a5-3fc898b5a096", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b89f2159-e707-47fa-b3a5-3fc898b5a096/ports", "rel": "self"}, {"href": "http://localhost/nodes/b89f2159-e707-47fa-b3a5-3fc898b5a096/ports", "rel": "bookmark"}]} PATCH /v1/nodes/cfdc1543-e004-4df1-b1ab-971e0d677f3d WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-37bbe9cc-1d08-41b1-be38-78ceb4b59e66 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "cfdc1543-e004-4df1-b1ab-971e0d677f3d", "created_at": "2025-05-22T18:06:27.240686+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/cfdc1543-e004-4df1-b1ab-971e0d677f3d", "rel": "self"}, {"href": "http://localhost/nodes/cfdc1543-e004-4df1-b1ab-971e0d677f3d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/cfdc1543-e004-4df1-b1ab-971e0d677f3d/ports", "rel": "self"}, {"href": "http://localhost/nodes/cfdc1543-e004-4df1-b1ab-971e0d677f3d/ports", "rel": "bookmark"}]} PATCH /v1/nodes/3cc9c53a-e5c9-49fc-99e3-b8fc04593ecc WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78c77249-7e1d-4259-b456-fecfab252618 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "3cc9c53a-e5c9-49fc-99e3-b8fc04593ecc", "created_at": "2025-05-22T18:06:27.353938+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspect failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/3cc9c53a-e5c9-49fc-99e3-b8fc04593ecc", "rel": "self"}, {"href": "http://localhost/nodes/3cc9c53a-e5c9-49fc-99e3-b8fc04593ecc", "rel": "bookmark"} ], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3cc9c53a-e5c9-49fc-99e3-b8fc04593ecc/ports", "rel": "self"}, {"href": "http://localhost/nodes/3cc9c53a-e5c9-49fc-99e3-b8fc04593ecc/ports", "rel": "bookmark"}]} PATCH /v1/nodes/27eadb2d-4e9c-4c91-88c8-40a913fe591b WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-062a6dfe-69a5-4009-99bc-e327aab78ae4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "27eadb2d-4e9c-4c91-88c8-40a913fe591b", "created_at": "2025-05-22T18:06:27.468407+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/27eadb2d-4e9c-4c91-88c8-40a913fe591b", "rel": "self"}, {"href": "http://localhost/nodes/27eadb2d-4e9c-4c91-88c8-40a913fe591b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/27eadb2d-4e9c-4c91-88c8-40a913fe591b/ports", "rel": "self"}, {"href": "http://localhost/nodes/27eadb2d-4e9c-4c91-88c8-40a913fe591b/ports", "rel": "bookmark"}]} PATCH /v1/nodes/10ed1174-7bfe-45f3-a6a7-52e72940fea5 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af94e61c-0790-4438-ae0f-40459d901052 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "10ed1174-7bfe-45f3-a6a7-52e72940fea5", "created_at": "2025-05-22T18:06:27.569359+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "clean failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/10ed1174-7bfe-45f3-a6a7-52e72940fea5", "rel": "self"}, {"href": "http://localhost/nodes/10ed1174-7bfe-45f3-a6a7-52e72940fea5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/10ed1174-7bfe-45f3-a6a7-52e72940fea5/ports", "rel": "self"}, {"href": "http://localhost/nodes/10ed1174-7bfe-45f3-a6a7-52e72940fea5/ports", "rel": "bookmark"}]} PATCH /v1/nodes/fe8b78d6-2ed8-47eb-ab8a-f02ace071efa WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-806fb15f-6667-4493-a9c1-999bf4db7ebb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "fe8b78d6-2ed8-47eb-ab8a-f02ace071efa", "created_at": "2025-05-22T18:06:27.689317+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "error", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_p rovision_state": "available", "links": [{"href": "http://localhost/v1/nodes/fe8b78d6-2ed8-47eb-ab8a-f02ace071efa", "rel": "self"}, {"href": "http://localhost/nodes/fe8b78d6-2ed8-47eb-ab8a-f02ace071efa", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fe8b78d6-2ed8-47eb-ab8a-f02ace071efa/ports", "rel": "self"}, {"href": "http://localhost/nodes/fe8b78d6-2ed8-47eb-ab8a-f02ace071efa/ports", "rel": "bookmark"}]} PATCH /v1/nodes/7077889a-63e4-43f4-ae2d-b7b8a5881f2f WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd5cafa8-475e-4ebd-b968-1b1cf74fca79 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7077889a-63e4-43f4-ae2d-b7b8a5881f2f", "created_at": "2025-05-22T18:06:27.766633+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "verifying", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/7077889a-63e4-43f4-ae2d-b7b8a5881f2f", "rel": "self"}, {"href": "http://localhost/nodes/7077889a-63e4-43f4-ae2d-b7b8a5881f2f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7077889a-63e4-43f4-ae2d-b7b8a5881f2f/ports", "rel": "self"}, {"href": "http://localhost/nodes/7077889a-63e4-43f4-ae2d-b7b8a5881f2f/ports", "rel": "bookmark"}]} PATCH /v1/nodes/a8424f36-d4b4-42f0-b448-82c40e2e763c WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4699cae5-ef81-4a44-81fe-cf2b181b181a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a8424f36-d4b4-42f0-b448-82c40e2e763c", "created_at": "2025-05-22T18:06:28.580427+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "adopt failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/a8424f36-d4b4-42f0-b448-82c40e2e763c", "rel": "self"}, {"href": "http://localhost/nodes/a8424f36-d4b4-42f0-b448-82c40e2e763c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a8424f36-d4b4-42f0-b448-82c40e2e763c/ports", "rel": "self"}, {"href": "http://localhost/nodes/a8424f36-d4b4-42f0-b448-82c40e2e763c/ports", "rel": "bookmark"}]} PATCH /v1/nodes/ddb924cd-c7f7-400d-8e33-f72aeaecd9f4 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3038780c-dc63-41bc-9a52-7a91ed805ebe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "ddb924cd-c7f7-400d-8e33-f72aeaecd9f4", "created_at": "2025-05-22T18:06:28.686284+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "rescue failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/ddb924cd-c7f7-400d-8e33-f72aeaecd9f4", "rel": "self"}, {"href": "http://localhost/nodes/ddb924cd-c7f7-400d-8e33-f72aeaecd9f4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ddb924cd-c7f7-400d-8e33-f72aeaecd9f4/ports", "rel": "self"}, {"href": "http://localhost/nodes/ddb924cd-c7f7-400d-8e33-f72aeaecd9f4/ports", "rel": "bookmark"}]} PATCH /v1/nodes/2caef892-67cb-4400-8421-07ed250c129b WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3d2aed20-0438-4714-9c3a-65a50c7461e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "2caef892-67cb-4400-8421-07ed250c129b", "created_at": "2025-05-22T18:06:28.795810+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "unrescue failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/2caef892-67cb-4400-8421-07ed250c129b", "rel": "self"}, {"href": "http://localhost/nodes/2caef892-67cb-4400-8421-07ed250c129b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2caef892-67cb-4400-8421-07ed250c129b/ports", "rel": "self"}, {"href": "http://localhost/nodes/2caef892-67cb-4400-8421-07ed250c129b/ports", "rel": "bookmark"}]} PATCH /v1/nodes/77a9924a-c4e9-4663-86c6-58858344bc45 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ee7b5d5-0b9a-44ae-89ff-4b9ad9e2441f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "77a9924a-c4e9-4663-86c6-58858344bc45", "created_at": "2025-05-22T18:06:28.923566+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "service", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/77a9924a-c4e9-4663-86c6-58858344bc45", "rel": "self"}, {"href": "http://localhost/nodes/77a9924a-c4e9-4663-86c6-58858344bc45", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/77a9924a-c4e9-4663-86c6-58858344bc45/ports", "rel": "self"}, {"href": "http://localhost/nodes/77a9924a-c4e9-4663-86c6-58858344bc45/ports", "rel": "bookmark"}]} PATCH /v1/nodes/a4dadfec-0ccd-460c-beb4-5b8c43ae5a5c WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a3c407f-68f3-47c5-b684-701bd70fe72c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a4dadfec-0ccd-460c-beb4-5b8c43ae5a5c", "created_at": "2025-05-22T18:06:29.106707+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_in fo": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "service hold", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/a4dadfec-0ccd-460c-beb4-5b8c43ae5a5c", "rel": "self"}, {"href": "http://localhost/nodes/a4dadfec-0ccd-460c-beb4-5b8c43ae5a5c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4dadfec-0ccd-460c-beb4-5b8c43ae5a5c/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4dadfec-0ccd-460c-beb4-5b8c43ae5a5c/ports", "rel": "bookmark"}]} PATCH /v1/nodes/f45507b6-c4d5-428d-8df8-e9d4a9800e95 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3a89a1d6-6b9c-4572-9185-62b5acaab11e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f45507b6-c4d5-428d-8df8-e9d4a9800e95", "created_at": "2025-05-22T18:06:29.183412+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "service failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/f45507b6-c4d5-428d-8df8-e9d4a9800e95", "rel": "self"}, {"href": "http://localhost/nodes/f45507b6-c4d5-428d-8df8-e9d4a9800e95", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f45507b6-c4d5-428d-8df8-e9d4a9800e95/ports", "rel": "self"}, {"href": "http://localhost/nodes/f45507b6-c4d5-428d-8df8-e9d4a9800e95/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.093223s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.108130s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?instance_uuid=789fe9c8-40ef-437d-ab81-76de53810d54 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a39152da-ee0e-4370-9d02-da463fb6827f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.176452s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d1d80b8-9358-4c82-9e72-5c75834176c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['fake', 'noop'].\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.047891s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_special_fields [0.052877s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.187793s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6 WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c9c758a-c07a-44ae-a9ac-9a39aceecbc5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "894aca7a-c712-427f-a6d4-4dffe02b4bb6", "created_at": "2025-05-22T18:06:29.354178+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6", "rel": "self"}, {"href": "http://localhost/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6/ports", "rel": "self"}, {"href": "http://localhost/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6/states", "rel": "self"}, {"href": "http://localhost/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6/volume", "rel": "self"}, {"href": "http://localhost/nodes/894aca7a-c712-427f-a6d4-4dffe02b4bb6/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.139252s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-47165548-ccd2-4212-b1a0-c6a64cf019bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.423528+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e36c8fe7-34d4-4e7f-a4c9-0dc113beefa7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.423528+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.049297s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.051185s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.209578s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-8cd61f30-8604-4a47-88e7-adbc5542e750 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.569110+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project", "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-74428198-17c4-4e8c-bc00-a2b8ebe964f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.569110+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode" : null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project", "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.166146s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/ed806ab0-4322-4003-90e0-1cc7e4276a18 WITH [{'path': '/instance_uuid', 'op': 'remove'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-42aa316b-a199-4716-a6f8-497cc8ee8bdb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"ed806ab0-4322-4003-90e0-1cc7e4276a18\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.050578s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.161954s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-81f2e7d8-ea1f-4090-825e-6db10ddda152 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.558326+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12e47c29-3cea-41fc-b5a3-d50193b6c627 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.558326+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_inter face": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.037710s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.118571s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-89d3790b-327c-48b4-9e61-d5e723cb432e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.061742s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.066833s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.195858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1f65d5ac-eb62-4631-992b-38f7873e2645 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.43 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.754758+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b0e9ef5e-430f-470a-98df-e0e0363cf359 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.44 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.754758+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.059828s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.166305s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-255f7bed-e286-402d-954a-39df9784ffca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.048144s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.047173s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.154223s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d50d3d2b-dd1f-4d80-8d2b-0ed35a5eda33 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:29.931956+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.052242s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.143041s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d4ed6a49-ef5f-4337-b206-724728d7083e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.039338s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.026719s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.036186s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.025539s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_disable_power_off_false_field [0.173542s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-48f48c08-b62d-4e63-a844-67096c1a7a6c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.95 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.118644+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.052352s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.021142s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.048198s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-745b3206-8d64-4435-ac4b-63dc4df656e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "c00ba4d8-e72a-4726-9869-dbc6bccff98c", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/c00ba4d8-e72a-4726-9869-dbc6bccff98c", "rel": "self"}, {"href": "http://localhost/volume/connectors/c00ba4d8-e72a-4726-9869-dbc6bccff98c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "77806bbd-b4cf-4d67-bd3c-2c5312f69778", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/77806bbd-b4cf-4d67-bd3c-2c5312f69778", "rel": "self"}, {"href": "http://localhost/volume/connectors/77806bbd-b4cf-4d67-bd3c-2c5312f69778", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "6ddb455b-8606-4398-a103-e65c80114cdc", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6ddb455b-8606-4398-a103-e65c80114cdc", "rel": "self"}, {"href": "http://localhost/volume/connectors/6ddb455b-8606-4398-a103-e65c80114cdc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=6ddb455b-8606-4398-a103-e65c80114cdc"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.238573s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-62c947ed-0327-4423-a23d-3261aa9c8193 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.203280+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-482df8c1-9f5c-4cc1-81d6-acf74f2e17a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.203280+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mo de": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.721589s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7 WITH [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b740b3dd-7d4c-4976-a9c7-cc4aea1c6c6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8913dad0-2615-4d7e-b666-454385e23eb7", "created_at": "2025-05-22T18:06:29.702821+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7 WITH [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-efc0bf8c-f448-432f-b36e-decda915158a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8913dad0-2615-4d7e-b666-454385e23eb7", "created_at": "2025-05-22T18:06:29.702821+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspe ct_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7 WITH [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b9228c4-acce-41fe-8955-b7b49973afff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8913dad0-2615-4d7e-b666-454385e23eb7", "created_at": "2025-05-22T18:06:29.702821+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "s elf"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7 WITH [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c74c2e78-9947-43ef-9a1d-0d8d5c3faf88 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8913dad0-2615-4d7e-b666-454385e23eb7", "created_at": "2025-05-22T18:06:29.702821+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/ 8913dad0-2615-4d7e-b666-454385e23eb7 WITH [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a8c22da7-78d4-4b3d-bc4c-217b8d7a1114 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8913dad0-2615-4d7e-b666-454385e23eb7", "created_at": "2025-05-22T18:06:29.702821+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7 WITH [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ed52c0be-7157-4cb0-a832-180f8932c7c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8913dad0-2615-4d7e-b666-454385e23eb7", "created_at": "2025-05-22T18:06:29.702821+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface ": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7 WITH [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a244050c-c3a1-4307-8cfa-01b05e7d76fd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8913dad0-2615-4d7e-b666-454385e23eb7", "created_at": "2025-05-22T18:06:29.702821+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "self"}, {"href" : "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "bookmark"}]} PATCH /v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7 WITH [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ecc3a785-eb30-4196-a000-8b2972e65435 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8913dad0-2615-4d7e-b666-454385e23eb7", "created_at": "2025-05-22T18:06:29.702821+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "self"}, {"href": "http://localhost/nodes/8913dad0-2615-4d7e-b666-454385e23eb7/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_disable_power_off_hidden_in_lower_version [0.191603s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a327eafa-3146-4f45-8130-c4ca84b8ab50 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.94 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.277439+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aecedb7a-af0f-47b2-9c19-ae293aa84d9c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.95 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.277439+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error" : null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.148668s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3cf0f2e1-a49f-4352-89d9-6cb40aaf0269 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_disable_power_off_null_field [0.153779s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5bbbdacd-7443-4f73-953c-6d55f56b88d2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.95 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.467681+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.282165s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1c91cbd1-d318-4427-ac49-1bf3410f0599 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "4f891080-04a0-4aac-9ebe-15ecaf11a3a4", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/4f891080-04a0-4aac-9ebe-15ecaf11a3a4", "rel": "self"}, {"href": "http://localhost/volume/connectors/4f891080-04a0-4aac-9ebe-15ecaf11a3a4", "rel": "bookmark"}]}, {"uuid": "257ac30e-c7d1-42e2-8bbe-4531c58f50bf", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/257ac30e-c7d1-42e2-8bbe-4531c58f50bf", "rel": "self"}, {"href": "http://localhost/volume/connectors/257ac30e-c7d1-42e2-8bbe-4531c58f50bf", "rel": "bookmark"}]}, {"uuid": "c0cbf856-9dc4-4d36-8d76-5a98958fa26b", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/c0cbf856-9dc4-4d36-8d76-5a98958fa26b", "rel": "self"}, {"href": "http://localhost/volume/connectors/c0cbf856-9dc4-4d36-8d76-5a98958fa26b", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=c0cbf856-9dc4-4d36-8d76-5a98958fa26b"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.216177s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/cf790bf1-7102-4bad-93ca-8fc5129584af WITH [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f0ecefdc-5610-4143-9d66-206dc3dbd034 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH /v1/nodes/cf790bf1-7102-4bad-93ca-8fc5129584af WITH [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-90114e1e-884e-4d30-9518-0b18cb1e0a2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH /v1/nodes/cf790bf1-7102-4bad-93ca-8fc5129584af WITH [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5861bb1b-172b-49ca-ac26-155b58face29 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH /v1/nodes/cf790bf1-7102-4bad-93ca-8fc5129584af WITH [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8bd4da27-0e0c-4a55-bda3-2a7b8a458007 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH /v1/nodes/cf790bf1-7102-4bad-93ca-8fc5129584af WITH [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9eb08584-0649-4045-aa65-5fc4593ec873 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH /v1/nodes/cf790bf1-7102-4bad-93ca-8fc5129584af WITH [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e2822fb3-3b99-4cc3-891b-6f53ebad452a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH /v1/nodes/cf790bf1-7102-4bad-93ca-8fc5129584af WITH [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5858c970-3556-41c5-9d75-49450bbb3db7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH /v1/nodes/cf790bf1-7102-4bad-93ca-8fc5129584af WITH [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3f54ef6f-6975-448f-a892-b8a7ccb677a9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.171028s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-db372f80-5d2b-4fe6-8be0-f8e6e28e6317 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.572192+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.127991s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7455d6a5-9e74-458a-b74e-48be9620285f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "1ca7b1e5-6c89-4827-be21-b9c9c80f1e90", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1ca7b1e5-6c89-4827-be21-b9c9c80f1e90", "rel": "self"}, {"href": "http://localhost/volume/connectors/1ca7b1e5-6c89-4827-be21-b9c9c80f1e90", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "3b429b06-27a1-4df4-bd12-8c88239cd314", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/3b429b06-27a1-4df4-bd12-8c88239cd314", "rel": "self"}, {"href": "http://localhost/volume/connectors/3b429b06-27a1-4df4-bd12-8c88239cd314", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "6f6c4acc-9745-4086-8136-78b6ca30459c", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6f6c4acc-9745-4086-8136-78b6ca30459c", "rel": "self"}, {"href": "http://localhost/volume/connectors/6f6c4acc-9745-4086-8136-78b6ca30459c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=6f6c4acc-9745-4086-8136-78b6ca30459c"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_disable_power_off_true_field [0.166012s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c105b6e-8cf3-4d92-a821-0477f51442d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.95 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.622083+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": true, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.056409s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?detail=True&limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-73c78c7b-d3c9-4d27-970c-2dfe94f68478 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "140ab2e7-7276-43b0-b3d2-506420336819", "created_at": "2025-05-22T18:06:30.709566+00:00", "updated_at": null, "connector_id": "test-connector_id-0", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/140ab2e7-7276-43b0-b3d2-506420336819", "rel": "self"}, {"href": "http://localhost/volume/connectors/140ab2e7-7276-43b0-b3d2-506420336819", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "ba460a93-5574-477e-9b6c-ea4a5e4fc209", "created_at": "2025-05-22T18:06:30.710491+00:00", "updated_at": null, "connector_id": "test-connector_id-1", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/ba460a93-5574-477e-9b6c-ea4a5e4fc209", "rel": "self"}, {"href": "http://localhost/volume/connectors/ba460a93-5574-477e-9b6c-ea4a5e4fc209", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "c578b620-22ce-4cac-9319-5f414af9f4b0", "created_at": "2025-05-22T18:06:30.711307+00:00", "updated_at": null, "connector_id": "test-connector_id-2", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/c578b620-22ce-4cac-9319-5f414af9f4b0", "rel": "self"}, {"href": "http://localhost/volume/connectors/c578b620-22ce-4cac-9319-5f414af9f4b0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=c578b620-22ce-4cac-9319-5f414af9f4b0"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.178836s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-3b81a7fc-cf90-487a-8753-772b71fa3c61 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.736285+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0f3e1658-ba7e-4594-99e2-e6e0699f074c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.736285+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.217146s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/d486a859-8e43-4431-8489-64d0b378b957 WITH [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40a2c2e8-9664-49ff-8736-1c0e7e34f085 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "d486a859-8e43-4431-8489-64d0b378b957", "created_at": "2025-05-22T18:06:30.651858+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d486a859-8e43-4431-8489-64d0b378b957", "rel": "self"}, {"href": "http://localhost/nodes/d486a859-8e43-4431-8489-64d0b378b957", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d486a859-8e43-4431-8489-64d0b378b957/ports", "rel": "self"}, {"href": "http://localhost/nodes/d486a859-8e43-4431-8489-64d0b378b957/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d486a859-8e43-4431-8489-64d0b378b957/states", "rel": "self"}, {"href": "http://localhost/nodes/d486a859-8e43-4431-8489-64d0b378b957/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d486a859-8e43-4431-8489-64d0b378b957/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d486a859-8e43-4431-8489-64d0b378b957/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d486a859-8e43-4431-8489-64d0b378b957/volume", "rel": "self"}, {"href": "http://localhost/nodes/d486a859-8e43-4431-8489-64d0b378b957/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.083970s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3edf602-33e5-4cc6-aa69-b9a6f39242d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:30.801834+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.035888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e13b1567-3a0d-4a8c-bad4-35bfb1145d3a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.191382s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7210776f-7b93-425b-9022-adef5f5cb470 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.798134+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ca994404-5fa4-452f-a50a-830db249d474 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.798134+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "lin ks": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.127612s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b1a30719-f8a9-404f-bf80-deb8e362b390 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 'driver' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.126437s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/e5b145f2-849b-48f7-bafc-400874a735e6 WITH [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d53691ca-573a-48ea-9ee3-47f052ef0cef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.055007s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=connector_id,extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ba7e802c-bafc-4b85-9cfc-40d4acb0c51c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.053852s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?detail=True&node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88b03892-18f9-4644-89fb-d401352a2522 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:30.950231+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.045283s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e2031fef-221a-463b-bf49-55b00eee6bd1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.033670s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?detail=True WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.186189s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d6c4001f-f113-49b7-8ad4-1b4dd20b8007 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.986334+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fceb47e9-2a87-4abb-a7e8-2b994902b157 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:30.986334+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspect wait", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2 e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.210080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-fe0e2f6c-1870-49f5-9a92-306e7bd3cff0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.064368+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "cowsay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-73338028-b9fe-4e17-956a-1b8e182cf396 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.064368+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": n ull, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "cowsay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.061280s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/detail WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb3f38f1-821b-49c4-9c54-a3d27dd11bfd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for connector_uuid: detail\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.047328s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb60d2b7-5ee9-4073-a355-734f500fea49 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": []} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.293178s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694 WITH [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.3ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbf8a8ad-5aa4-444e-93a5-d7d498d712d7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "9c05a497-5a9b-48dc-89ea-67297f79e694", "created_at": "2025-05-22T18:06:31.006520+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694", "rel": "self"}, {"href": "http://localhost/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694/ports", "rel": "self"}, {"href": "http://localhost/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9c05a497-5a9b-48dc-89ea -67297f79e694/states", "rel": "self"}, {"href": "http://localhost/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694/volume", "rel": "self"}, {"href": "http://localhost/nodes/9c05a497-5a9b-48dc-89ea-67297f79e694/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.161255s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a569ef1-09ff-43b0-bafb-55971407fdc6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.180990+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.075091s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3937f693-c55b-4f2d-85d4-71be84725c03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "789fcc97-4c4d-4915-8030-f53d293ef2d4", "connector_id": "test-value-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/789fcc97-4c4d-4915-8030-f53d293ef2d4", "rel": "self"}, {"href": "http://localhost/volume/connectors/789fcc97-4c4d-4915-8030-f53d293ef2d4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "8c4e2b77-eef8-4f2b-af44-9e7c9eeec7f9", "connector_id": "test-value-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/8c4e2b77-eef8-4f2b-af44-9e7c9eeec7f9", "rel": "self"}, {"href": "http://localhost/volume/connectors/8c4e2b77-eef8-4f2b-af44-9e7c9eeec7f9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "405f290e-1d2d-4a1c-a678-f26315fa33ba", "connector_id": "test-value-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/405f290e-1d2d-4a1c-a678-f26315fa33ba", "rel": "self"}, {"href": "http://localhost/volume/connectors/405f290e-1d2d-4a1c-a678-f26315fa33ba", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.146788s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'bob', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7ff36edd-272d-4c28-b783-82ed2891e829 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.057432s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4a7e68a8-66a3-4b4f-81e5-efc25e4a192c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "c5974f6b-856b-4b73-a75c-3e4bd0836cf1", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/c5974f6b-856b-4b73-a75c-3e4bd0836cf1", "rel": "self"}, {"href": "http://localhost/volume/connectors/c5974f6b-856b-4b73-a75c-3e4bd0836cf1", "rel": "bookmark"}]}, {"uuid": "dcb9c4c3-08f1-4e5d-83cb-978cdd0ad8f3", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/dcb9c4c3-08f1-4e5d-83cb-978cdd0ad8f3", "rel": "self"}, {"href": "http://localhost/volume/connectors/dcb9c4c3-08f1-4e5d-83cb-978cdd0ad8f3", "rel": "bookmark"}]}, {"uuid": "fb16c4cd-240b-45d1-a15c-5ccd14fc4175", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/fb16c4cd-240b-45d1-a15c-5ccd14fc4175", "rel": "self"}, {"href": "http://localhost/volume/connectors/fb16c4cd-240b-45d1-a15c-5ccd14fc4175", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.119018s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-657c820f-df74-46f5-b65f-7f18a972de84 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.296034+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e24e0376-6f82-45ac-bd90-38c1cee5e8fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.296034+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x 86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.050595s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?fields=connector_id&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-64f003e0-d401-4e50-8a96-60a6ca7aed4a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"connector_id": "test-connector_id-0", "links": [{"href": "http://localhost/v1/volume/connectors/7b913b05-3721-4c4b-adec-e004906b2152", "rel": "self"}, {"href": "http://localhost/volume/connectors/7b913b05-3721-4c4b-adec-e004906b2152", "rel": "bookmark"}]}, {"connector_id": "test-connector_id-1", "links": [{"href": "http://localhost/v1/volume/connectors/e131770e-c655-44ac-aa02-15fa358fd056", "rel": "self"}, {"href": "http://localhost/volume/connectors/e131770e-c655-44ac-aa02-15fa358fd056", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=e131770e-c655-44ac-aa02-15fa358fd056"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.036131s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.200392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93 WITH [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6138fc6b-4b8a-4522-9f1f-8b57488af28c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93", "created_at": "2025-05-22T18:06:31.317482+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93", "rel": "self"}, {"href": "http://localhost/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93/ports", "rel": "self"}, {"href": "http://localhost/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93/states", "rel": "self"}, {"href": "http://localhost/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93/volume", "rel": "self"}, {"href": "http://localhost/nodes/7ab8aaaa-58a1-468d-a3c6-73bdce2c8b93/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.054024s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8ce1f4ee-0c58-4196-ba83-ba715a1505da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.101133s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d9f7f08c-ebd0-42c4-b206-1c351a687563 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.429681+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.062371s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-297624de-c639-4513-9541-acd514958fcf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:31.479064+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.124517s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/6a3ec8e9-1668-4e0b-8143-bace1276ae18 WITH [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.3ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f5596591-1b1d-4fba-97bd-48175f5b9e51 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.62 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.102384s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-44c42645-2d1b-4ebd-bd2d-1e0e9976a37d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.533050+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "some-lucky-project", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.052821s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba3e684b-f650-4048-9807-a60796d0b123 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.041668s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.112115s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd7be23f-df4f-445b-b906-8ea8604479b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "9bd9b9ba-9a5b-4436-8f6b-280859d2b70f", "created_at": "2025-05-22T18:06:31.620545+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {"links": [{"id": "interface2", "type": "vif", "ethernet_mac_address": "a0:36:9f:2c:e8:70", "vif_id": "e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d", "mtu": 1500}, {"id": "interface0", "type": "phy", "ethernet_mac_address": "a0:36:9f:2c:e8:80", "mtu": 9000}, {"id": "interface1", "type": "phy", "ethernet_mac_address": "a0:36:9f:2c:e8:81", "mtu": 9000}, {"id": "bond0", "type": "bond", "bond_links": ["interface0", "interface1"], "ethernet_mac_address": "a0:36:9f:2c:e8:82", "bond_mode": "802.3ad", "bond_xmit_hash_policy": "layer3+4", "bond_miimon": 100}, {"id": "vlan0", "type": "vlan", "vlan_link": "bond0", "vlan_id": 101, "vlan_mac_address": "a0:36:9f:2c:e8:80", "vif_id": "e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f"}], "networks": [{"id": "private-ipv4", "type": "ipv4", "link": "interface0", "ip_address": "10.184.0.244", "netmask": "255.255.240.0", "routes": [{"network": "10.0.0.0", "netmask": "255.0.0.0", "gateway": "11.0.0.1"}, {"network": "0.0.0.0", "netmask": "0.0.0.0", "gateway": "23.253.157.1"}], "network_id": "da5bb487-5193-4a65-a3df-4a0055a8c0d7"}, {"id": "private-ipv4", "type": "ipv6", "link": "interface0", "ip_address": "2001:cdba::3257:9652/24", "routes": [{"network": "::", "netmask": "::", "gateway": "fd00::1"}, {"network": "::", "netmask": "ffff:ffff:ffff::", "gateway": "fd00::1:1"}], "network_id": "da5bb487-5193-4a65-a3df-4a0055a8c0d8"}, {"id": "publicnet-ipv4", "type": "ipv4", "link": "vlan0", "ip_address": "23.253.157.244", "netmask": "255.255.255.0", "dns_nameservers": ["69.20.0.164", "69.20.0.196"], "routes": [{"network": "0.0.0.0", "netmask": "0.0.0.0", "gateway": "23.253.157.1"}], "network_id": "62611d6f-66cb-4270-8b1f-503ef0dd4736"}], "services": [{"type": "dns", "address": "8.8.8.8"}, {"type": "dns", "address": "8.8.4.4"}]}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f", "rel": "self"}, {"href": "http://localhost/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f/ports", "rel": "self"}, {"href": "http://localhost/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f/states", "rel": "self"}, {"href ": "http://localhost/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f/volume", "rel": "self"}, {"href": "http://localhost/nodes/9bd9b9ba-9a5b-4436-8f6b-280859d2b70f/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.078849s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4f26cac-3176-4f32-b778-a0b9821cda97 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "cc60e29b-2607-4db0-9575-f73184425d79", "created_at": "2025-05-22T18:06:31.645899+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79", "rel": "self"}, {"href": "http://localhost/volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e92c9c6e-9a29-4bfd-ae42-eaaea9f46536 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "cc60e29b-2607-4db0-9575-f73184425d79", "created_at": "2025-05-22T18:06:31.645899+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79", "rel": "self"}, {"href": "http://localhost/volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-622d1f8b-47e2-4135-9717-947e89c4850b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "cc60e29b-2607-4db0-9575-f73184425d79", "created_at": "2025-05-22T18:06:31.645899+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79", "rel": "self"}, {"href": "http://localhost/volume/connectors/cc60e29b-2607-4db0-9575-f73184425d79", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.212459s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/20b4f92c-44a8-4a32-80b1-cf864ae759d6 WITH [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d8a3db80-7f03-4ab4-900c-3b4a719c1716 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid network_data: 'links' is a required property \", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.177352s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f8404ab4-15d5-4757-b910-a83c98c8618d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "8a7a5fd8-7bef-40b6-a5ed-d9c0260400c9", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/8a7a5fd8-7bef-40b6-a5ed-d9c0260400c9", "rel": "self"}, {"href": "http://localhost/volume/connectors/8a7a5fd8-7bef-40b6-a5ed-d9c0260400c9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "c045e8ec-7a82-4fd0-90c3-e2853e5b466c", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/c045e8ec-7a82-4fd0-90c3-e2853e5b466c", "rel": "self"}, {"href": "http://localhost/volume/connectors/c045e8ec-7a82-4fd0-90c3-e2853e5b466c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d57f803a-7d71-4886-af4a-685ffaa2898c", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d57f803a-7d71-4886-af4a-685ffaa2898c", "rel": "self"}, {"href": "http://localhost/volume/connectors/d57f803a-7d71-4886-af4a-685ffaa2898c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "3e1b5ed0-7116-4d9a-aa7b-1c96ecf58f44", "connector_id": "test-connector_id-3", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/3e1b5ed0-7116-4d9a-aa7b-1c96ecf58f44", "rel": "self"}, {"href": "http://localhost/volume/connectors/3e1b5ed0-7116-4d9a-aa7b-1c96ecf58f44", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "1271ad42-acdf-49b1-b27c-171c0398a46d", "connector_id": "test-connector_id-4", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1271ad42-acdf-49b1-b27c-171c0398a46d", "rel": "self"}, {"href": "http://localhost/volume/connectors/1271ad42-acdf-49b1-b27c-171c0398a46d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.208690s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0f597ef4-9566-4f7f-a299-58dd29f8f5d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.776045+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23732175-c051-4a96-9a14-5f685f9941b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.776045+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_recorded_project_scope [0.631171s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-0c9546c5-3784-4576-bede-c6313a545994 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.868222+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "ravensay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-67482515-4e5e-4908-b307-0bc5033142bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.868222+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step" : {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "ravensay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.134264s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2b59d65-e6ed-40ef-86e9-883bbae5facd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.157106s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eef530ec-00b7-4e3f-922f-272cf3f08f95 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.989379+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a3997be3-37f9-4f9f-b324-63d8a1b8a06a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:31.989379+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_upd ated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.334780s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1 WITH [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c24e1302-577a-46c3-af3c-381b120cd4ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "60ba41bd-cae7-4ee7-86f0-6a7d46caecb1", "created_at": "2025-05-22T18:06:31.917432+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1", "rel": "self"}, {"href": "http://localhost/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1/ports", "rel": "self"}, {"href": "http://localhost/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1/states", "rel": "self"}, {"href": "http://localhost/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1/volume", "rel": "self"}, {"href": "http://localhost/nodes/60ba41bd-cae7-4ee7-86f0-6a7d46caecb1/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_system_scope [0.201024s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'catsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-bc009c8e-062c-42f8-8e23-4bd6f2752b6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.041261+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "catsay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8bf7d548-3c0f-4bb4-a605-1f277fcc6987 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.041261+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": n ull, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "catsay", "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.094470s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.107792s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e1c0d371-8258-4eee-8423-1f0273e0c574 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.108196+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.117553s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/a9395ed5-d015-4dce-a78a-6c3aa7cc3232 WITH [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8dcf83b9-091e-4155-8a26-6b485258877e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.102626s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c404a1b6-f654-47d7-9848-fed2bf4699c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "1fd8e1ae-c46a-44cf-b376-733f4cc68cd3", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1fd8e1ae-c46a-44cf-b376-733f4cc68cd3", "rel": "self"}, {"href": "http://localhost/volume/connectors/1fd8e1ae-c46a-44cf-b376-733f4cc68cd3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "24742c0a-3ccc-40e6-bc4c-0aa425813a2c", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/24742c0a-3ccc-40e6-bc4c-0aa425813a2c", "rel": "self"}, {"href": "http://localhost/volume/connectors/24742c0a-3ccc-40e6-bc4c-0aa425813a2c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "db3d09b9-abbf-4c4f-935e-6a6caef0d75e", "connector_id": "test-connector_id-2", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/db3d09b9-abbf-4c4f-935e-6a6caef0d75e", "rel": "self"}, {"href": "http://localhost/volume/connectors/db3d09b9-abbf-4c4f-935e-6a6caef0d75e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.131921s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'protected': True} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ae8d90e-4040-4ebf-8d03-0a5c7c81a6a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('protected' was unexpected)\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.080921s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f6827824-a6ed-4728-9da9-68646be9f5e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/volume/connectors?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-03788735-a275-4705-bd21-122add46d3a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.171668s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dbc52761-821d-4123-926f-3c60b4338d08 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.254122+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": "akindofmagic", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.103419s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-282540ac-d969-4c2f-b094-cf60d44c1dcb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:32.354528+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.194138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5172f98-c36f-406c-a48a-0f67ee3daddb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.266074+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.167325s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35c0a225-49cd-43c7-abce-e39be07f3a64 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "45d7b1da-d3a8-4311-af79-7e11ee34133a", "created_at": "2025-05-22T18:06:32.398844+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": true, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a", "rel": "self"}, {"href": "http://localhost/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a/ports", "rel": "self"}, {"href": "http://localhost/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a/states", "rel": "self"}, {"href": "http://localhost/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a/volume", "rel": "self"}, {"href": "http://localhost/nodes/45d7b1da-d3a8-4311-af79-7e11ee34133a/volume", "rel": "bookmark"}]} GET /v1/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d480811-95ad-4c0e-92b0-b742f3add27d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "1ee07283-06df-4d8e-a9e2-d0a54c9adfb4", "created_at": "2025-05-22T18:06:32.446001+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4", "rel": "self"}, {"href": "http://localhost/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4/states", "rel": "self"}, {"href": "http://localhost/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ee07283-06df-4d8e-a9e2-d0a54c9adfb4/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.098097s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-92fd6cb3-e065-4a2a-8033-0e8ab0bcc11b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.215473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/node-57.1 WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0623915-c890-4df1-8385-cd6eeca79e65 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.469702+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.123500s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-265af6e0-e032-4abe-9933-62273093fe80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:32.575456+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.403613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'maintenance', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-25ed698b-a444-43db-8534-40aac9c1f370 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'name': 'management', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5ad28101-d612-4ff0-95d6-e813e03570d6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'name': 'states', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d6f95d0-74dc-4956-8237-90ae4585e183 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'name': 'vendor_passthru', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cab26288-51ec-4f7b-9fdf-7e16c4d3d099 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, state s, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'name': 'detail', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ee0956b0-0248-48c2-adbd-76aec5ec8737 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'name': 'validate', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-66c72873-2e79-48e8-87d4-c850c1b939fa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.098106s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-166f6355-1ace-4e1c-a32b-62777f0fa6af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.214225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/node-57.1.json WITH [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f0c7b285-bdc3-47b3-a603-2c4395ecedb3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.688240+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.116145s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ebe223d3-f9d8-4a61-bd9e-c4f0970cfbb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:32.793928+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.219595s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-8b15f824-c503-4490-9e9b-f5b458c327ba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.813602+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": "foo", "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bacfa678-6523-4a9f-ab71-60cf68066e9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.813602+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode" : null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "disable_power_off": false, "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "firmware_interface": "fake", "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": "foo", "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.115330s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dcf51f1f-79d4-4535-9bcd-f2f435340117 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.513158s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a211d6e1-440e-46ac-9322-53f017d3a9e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.973726+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e57f3fa-7bbd-440e-8a31-d729c97f363b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:32.973726+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reserv ation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.065705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1519c45c-e2f8-4125-aead-ac4bb7b35760 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.045722+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-952b623e-e530-406c-aa26-bdeec18d7f6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.045722+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reserv ation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.201261s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a7c48737-d928-4c6f-8ef6-df6ef69cf1fd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.112918s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/value', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9e67e80c-a499-4cd6-9bb2-e9f44a8abbc6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /value. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.248431s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e93e8515-25b6-4a68-bfdd-fe5e731477e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "c3779a73-3693-4f14-ae5f-83ff02536ba3", "created_at": "2025-05-22T18:06:32.951187+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3", "rel": "self"}, {"href": "http://localhost/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3/ports", "rel": "self"}, {"href": "http://localhost/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3/states", "rel": "self"}, {"href": "http://localhost/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3/volume", "rel": "self"}, {"href": "http://localhost/nodes/c3779a73-3693-4f14-ae5f-83ff02536ba3/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.042615s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-521a752f-6acd-49a4-a533-37bca93c7f62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.097693+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": true, "protected_reason": "reason!", "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.064398s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a90a8134-85e0-43d1-bcb4-b2b794c1a5e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "ae41f7e3-36dd-40f4-9903-f7272ba3bbc3", "created_at": "2025-05-22T18:06:33.149324+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": true, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3", "rel": "self"}, {"href": "http://localhost/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3/ports", "rel": "self"}, {"href": "http://localhost/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3/states", "rel": "self"}, {"href": "http://localhost/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3/volume", "rel": "self"}, {"href": "http://localhost/nodes/ae41f7e3-36dd-40f4-9903-f7272ba3bbc3/volume", "rel": "bookmark"}]} GET /v1/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3c45663c-1b3f-4fd7-a4bc-f4bc92b312b8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "b31fb86d-36a0-4d8d-badc-4efee5b8feb4", "created_at": "2025-05-22T18:06:33.165261+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4", "rel": "self"}, {"href": "http://localhost/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4/ports", "rel": "self"}, {"href": "http://localhost/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4/states", "rel": "self"}, {"href": "http://localhost/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4/volume", "rel": "self"}, {"href": "http://localhost/nodes/b31fb86d-36a0-4d8d-badc-4efee5b8feb4/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.052217s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26f15b94-cc95-4d7d-a7d6-c00512dc5f1d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.207467+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8da6e2a9-6ca2-4b87-bab3-9b9801e3a26a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.207467+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected ": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.058417s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1754617b-e414-43ff-a70c-90e3f5bfbe67 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.260737+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1dc8637f-cad4-4de1-b2e6-1aee3cae7186 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.260737+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected ": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.221085s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7d939f83-8dab-4f3a-b6fc-940a8c5d8bdb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.250243+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "foo", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0a0a3ee-2497-4ab8-a462-4dc6b69eadcc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.250243+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "foo", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "*** ***", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.069243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9c6e1cf2-1413-4c66-8a20-2f00b0a9a58c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.333034+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": true, "retired_reason": "warranty expired", "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.297480s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-531d0b75-89a0-4852-8c4c-d035dca4dbc2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:33.192470+00:00", "updated_at": "2025-05-22T18:06:33.204454+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo2": "bar2", "foo3": "bar3"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bf4119f3-cfac-437c-bfcd-89f9a05de9f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:33.192470+00:00", "updated_at": "2025-05-22T18:06:33.204454+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.324296s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3d02de91-ca0d-4d12-b74f-afa76229b620 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "d333f691-acbf-4f18-ba63-a68fb3f4d08b", "created_at": "2025-05-22T18:06:33.260704+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b", "rel": "self"}, {"href": "http://localhost/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b/ports", "rel": "self"}, {"href": "http://localhost/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b/states", "rel": "self"}, {"href": "http://localhost/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b/volume", "rel": "self"}, {"href": "http://localhost/nodes/d333f691-acbf-4f18-ba63-a68fb3f4d08b/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.089797s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b7a603ee-8fa7-422f-aee9-2fb534c164e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"uuid": "4372ce2a-72f1-44a6-9971-378a2a7017cd", "created_at": "2025-05-22T18:06:33.402425+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": "uefi", "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": true, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd", "rel": "self"}, {"href": "http://localhost/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd/ports", "rel": "self"}, {"href": "http://localhost/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd/states", "rel": "self"}, {"href": "http://localhost/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd/volume", "rel": "self"}, {"href": "http://localhost/nodes/4372ce2a-72f1-44a6-9971-378a2a7017cd/volume", "rel": "bookmark"}]} GET /v1/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a8afe99-b7d5-4148-8b6b-bad1fb4a3ef6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"uuid": "4015a12d-ed65-4481-aca2-cc8512a73ecd", "created_at": "2025-05-22T18:06:33.431624+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": "uefi", "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {} , "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": false, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd", "rel": "self"}, {"href": "http://localhost/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd/ports", "rel": "self"}, {"href": "http://localhost/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd/states", "rel": "self"}, {"href": "http://localhost/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd/volume", "rel": "self"}, {"href": "http://localhost/nodes/4015a12d-ed65-4481-aca2-cc8512a73ecd/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.164170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-39726fc0-efac-49ec-aa42-f8a529edd75d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.066926s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8616c58d-70b0-4810-9777-56ab6d5c44b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.486350+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-02e8457e-d707-4ff5-9cc3-f5e43203ea90 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.486350+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": "fake.conductor", "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.053519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51fcdfdc-aa32-474e-9164-66da841b2dba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"console_enabled": false, "last_error": "fake-error", "power_state": "fake-state", "provision_state": "fake-state", "target_power_state": "fake-state", "target_provision_state": "fake-state", "provision_updated_at": "2000-01-01T00:00:00+00:00"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.132074s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/333e55ac-b133-4e0e-bbdc-48b452995843 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c67f6636-a4b1-4467-92fc-b2444d6bbc28 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"333e55ac-b133-4e0e-bbdc-48b452995843\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.177908s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-91677fb1-4a75-43f3-a7fc-6fed82536768 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.081097s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/e8af2a33-d172-4aa4-87b6-abde7513ac9d/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f223bfa-d966-4ccb-8f5a-7fa2f3714099 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": "bios", "secure_boot": null} GET /v1/nodes/d2d890a0-af44-4bd4-8d1c-461452e6e3b3/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec761d64-158a-48fe-9e10-ac2b9995d266 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": "uefi", "secure_boot": null} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.046837s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae7de3e4-6091-4912-b27d-7dca9c680b7d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6acfcfbd-341d-488a-8910-3b288035fd79 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.114140s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-27a0a7fc-ad49-4fad-a8cf-a1a4cb82c01c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.050873s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/eggs/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf532170-1e89-4f1b-8ed1-e626156ae684 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"console_enabled": false, "last_error": "fake-error", "power_state": "fake-state", "provision_state": "fake-state", "target_power_state": "fake-state", "target_provision_state": "fake-state", "provision_updated_at": "1971-03-09T00:00:00+00:00"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.163916s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/8da5fbbe-626b-48c2-a4e9-165564eae13f WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-747b4c45-df75-4759-a920-ee36dc5120eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.061825s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9b427e67-798b-4a11-b6d4-836aa5d4a247 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.779426+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef3fc5c6-02b1-4522-a15d-335cbb3602b7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:33.779426+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.119700s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a268d2f6-d05b-4aac-96c2-3848cb9467c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.047168s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-74a8fd33-2303-4336-b304-b8124d31d39b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"console_enabled": false, "last_error": "fake-error", "power_state": "fake-state", "provision_state": "fake-state", "target_power_state": "fake-state", "target_provision_state": "fake-state", "provision_updated_at": "2000-01-01T00:00:00+00:00", "raid_config": {"foo": "bar"}, "target_raid_config": {"foo": "bar"}} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.054268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/82fa857a-86dc-4421-a024-f202a1a9dbcc/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-58d3053b-d62c-4165-9508-bca11c9f40dd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": "uefi", "secure_boot": true} GET /v1/nodes/8ec24358-542b-49af-a712-719676745f19/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7af92533-094f-43a8-b615-b44e0756622e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": "uefi", "secure_boot": false} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.072388s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c4aa647-4b18-49b7-9d7f-443ccecdf05d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b11857cf-a5cd-4707-b19f-eae9fd087d6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.229445s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0245ed59-feab-405e-b193-dedfb12d1745 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "ba8c384e-2165-45b2-98a1-aabe941a2bb1", "created_at": "2025-05-22T18:06:33.867125+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1", "rel": "self"}, {"href": "http://localhost/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1/ports", "rel": "self"}, {"href": "http://localhost/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1/states", "rel": "self"}, {"href": "http://localhost/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1/volume", "rel": "self"}, {"href": "http://localhost/nodes/ba8c384e-2165-45b2-98a1-aabe941a2bb1/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.161109s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-cee980c4-6915-445d-a0ab-196349b5e087 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.052796s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c1cdbb53-1310-4e57-b12e-bd8ccb238a65 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:34.022250+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d327e44-bbc4-4bf7-a1ed-3d97b46025fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:34.022250+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", " rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.073456s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4718d10-07a1-4ffe-a19b-f94c18df48a9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:34.087361+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-46cc3d20-7101-44a7-b17b-c1c4ff8903aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:34.087361+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes /1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.135675s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/14e97feb-5a24-46db-8b2b-a428fff0ef20 WITH [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-96494561-617b-4862-acfa-0537b814be2c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"14e97feb-5a24-46db-8b2b-a428fff0ef20\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.043586s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f3827c4-1990-4cd2-8d55-326349623991 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.184766s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-29125eec-db68-48ee-9020-6bbdf30ce0da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.053443s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?fields=uuid,provision_state,maintenance,instance_uuid,last_error WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d55d687-1953-418a-ad14-a86b586b5849 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "provision_state": "available", "maintenance": false, "instance_uuid": null, "last_error": "meow", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.093974s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d2cd1e3b-49df-4984-af96-18ebd4942f4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"portgroups": [{"uuid": "923bcd97-2ee1-4993-8d6d-d88de476e0cc", "address": "52:54:00:cf:2d:30", "name": "pg-0", "links": [{"href": "http://localhost/v1/portgroups/923bcd97-2ee1-4993-8d6d-d88de476e0cc", "rel": "self"}, {"href": "http://localhost/portgroups/923bcd97-2ee1-4993-8d6d-d88de476e0cc", "rel": "bookmark"}]}, {"uuid": "6034d430-f9c4-45ef-b264-ec28d489b0ee", "address": "52:54:00:cf:2d:31", "name": "pg-1", "links": [{"href": "http://localhost/v1/portgroups/6034d430-f9c4-45ef-b264-ec28d489b0ee", "rel": "self"}, {"href": "http://localhost/portgroups/6034d430-f9c4-45ef-b264-ec28d489b0ee", "rel": "bookmark"}]}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1b426684-ac73-4398-8e20-2381f2ecac46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"portgroups": [{"uuid": "923bcd97-2ee1-4993-8d6d-d88de476e0cc", "address": "52:54:00:cf:2d:30", "name": "pg-0", "links": [{"href": "http://localhost/v1/portgroups/923bcd97-2ee1-4993-8d6d-d88de476e0cc", "rel": "self"}, {"href": "http://localhost/portgroups/923bcd97-2ee1-4993-8d6d-d88de476e0cc", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=923bcd97-2ee1-4993-8d6d-d88de476e0cc"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.136040s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd0b0025-edfa-46fc-ba4b-98d4eb629be0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:34.268650+00:00", "updated_at": "2025-05-22T18:06:34.271760+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.058095s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-646668e1-25e5-40fe-9848-e350d03d4b24 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:34.341922+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.052889s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d04e9023-9a51-402f-a4a1-bcb5eb22b627 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:34.397811+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.300489s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde WITH [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4cff2f98-e9a4-4edb-a42c-e5614cdf4a40 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "1b199f2c-5b86-4d5c-8add-9571245cfdde", "created_at": "2025-05-22T18:06:34.263379+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde", "rel": "self"}, {"href": "http://localhost/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde/ports", "rel": "self"}, {"href": "http://localhost/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde/states", "rel": "self"}, {"href": "http://localhost/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde/volume", "rel": "self"}, {"href": "http://localhost/nodes/1b199f2c-5b86-4d5c-8add-9571245cfdde/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.114539s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-38b6604c-4d31-4b8c-aa03-2e98b76191e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.038923s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [1.039832s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '2cb38157-6cd9-4422-90ef-bd04c772b6d6', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6 Openstack-Request-Id: req-eaed996e-812f-4896-aef8-6483994109e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "2cb38157-6cd9-4422-90ef-bd04c772b6d6", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/ports", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/states", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/volume", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/volume", "rel": "bookmark"}]} GET /v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3097612-b279-4f14-bcab-73a1157b8a45 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "2cb38157-6cd9-4422-90ef-bd04c772b6d6", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": nul l, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/ports", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/states", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/volume", "rel": "self"}, {"href": "http://localhost/nodes/2cb38157-6cd9-4422-90ef-bd04c772b6d6/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': '23d55801-57ca-4b8b-86fb-082bd389c500', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500 Openstack-Request-Id: req-f240796f-f9fa-4e2b-902c-4e8f7b3a434e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "23d55801-57ca-4b8b-86fb-082bd389c500", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/ports", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb- 082bd389c500/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/states", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/volume", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/volume", "rel": "bookmark"}]} GET /v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f0d02fad-ec6e-4bc7-b366-47fbaad1f7bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "23d55801-57ca-4b8b-86fb-082bd389c500", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/ports", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/states", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/volume", "rel": "self"}, {"href": "http://localhost/nodes/23d55801-57ca-4b8b-86fb-082bd389c500/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': '2f35efc2-dca8-4fb3-adc3-431372eff8e4', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4 Openstack-Request-Id: req-f2d73d9e-6942-401c-8df9-23fc992ad348 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openst ack-Ironic-Api-Version: 1.40 {"uuid": "2f35efc2-dca8-4fb3-adc3-431372eff8e4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/states", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/volume", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/volume", "rel": "bookmark"}]} GET /v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-970fad23-e389-49ed-aeb3-772223f60dd4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "2f35efc2-dca8-4fb3-adc3-431372eff8e4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/ nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/states", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/volume", "rel": "self"}, {"href": "http://localhost/nodes/2f35efc2-dca8-4fb3-adc3-431372eff8e4/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': '0b98d0f8-7c1f-4504-9079-d19c81983405', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405 Openstack-Request-Id: req-f3673c0e-f75b-4182-ac9e-2e82ea22409c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "0b98d0f8-7c1f-4504-9079-d19c81983405", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/ports", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/states", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/volume", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/volume", "rel": "bookmark"}]} GET /v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4a1127dd- ae49-41b3-ab9c-ee48ea78f49d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "0b98d0f8-7c1f-4504-9079-d19c81983405", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/ports", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/states", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/volume", "rel": "self"}, {"href": "http://localhost/nodes/0b98d0f8-7c1f-4504-9079-d19c81983405/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': 'a8825fa6-98b5-40f7-9ea7-944d35a8f1a8', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8 Openstack-Request-Id: req-7d5e2219-7eb4-4443-ab78-364ce8447eb7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "a8825fa6-98b5-40f7-9ea7-944d35a8f1a8", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/ports", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/states", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/volume", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/volume", "rel": "bookmark"}]} GET /v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f1929061-b027-4e8a-b5e4-ebd424f07fcf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "a8825fa6-98b5-40f7-9ea7-944d35a8f1a8", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/ports", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/states", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/volume", "rel": "self"}, {"href": "http://localhost/nodes/a8825fa6-98b5-40f7-9ea7-944d35a8f1a8/volume", "rel": "bookmark"}]} POST /v1/nodes WIT H {'uuid': '00a44405-0173-4571-928e-f4a892757216', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216 Openstack-Request-Id: req-0fe7a351-f1b7-45c0-9083-163178f2b067 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "00a44405-0173-4571-928e-f4a892757216", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216/ports", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216/states", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216/volume", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216/volume", "rel": "bookmark"}]} GET /v1/nodes/00a44405-0173-4571-928e-f4a892757216 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-17028a13-85de-436e-8dfa-a3545def76ba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "00a44405-0173-4571-928e-f4a892757216", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_in terface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216/ports", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216/states", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/00a44405-0173-4571-928e-f4a892757216/volume", "rel": "self"}, {"href": "http://localhost/nodes/00a44405-0173-4571-928e-f4a892757216/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': '949a569b-778a-4526-ad0f-361a63f8d921', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921 Openstack-Request-Id: req-51748811-a865-4c49-9001-880c5717b8be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "949a569b-778a-4526-ad0f-361a63f8d921", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921/ports", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921/states", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921/volume", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921/volume", "rel": "bookmark"}]} GET /v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ced6379-1d8d-4bec-9458-16be722edcf8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "949a569b-778a-4526-ad0f-361a63f8d921", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921/ports", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921/states", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/949a569b-778a-4526-ad0f-361a63f8d921/volume", "rel": "self"}, {"href": "http://localhost/nodes/949a569b-778a-4526-ad0f-361a63f8d921/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': 'd796e71b-4867-459f-869e-8fed01a20213', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213 Openstack-Request-Id: req-6ae68ca8-0747-4cbd-a782-b92e624c0e25 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Versi on: 1.40 {"uuid": "d796e71b-4867-459f-869e-8fed01a20213", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213/ports", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213/states", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213/volume", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213/volume", "rel": "bookmark"}]} GET /v1/nodes/d796e71b-4867-459f-869e-8fed01a20213 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-714d17a3-1f14-4ba7-af51-6210c639d338 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "d796e71b-4867-459f-869e-8fed01a20213", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/d796e71b-4867- 459f-869e-8fed01a20213/ports", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213/states", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d796e71b-4867-459f-869e-8fed01a20213/volume", "rel": "self"}, {"href": "http://localhost/nodes/d796e71b-4867-459f-869e-8fed01a20213/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': '008e52b8-4728-48a3-8e7a-024822ed3c83', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83 Openstack-Request-Id: req-ab777bf0-d7f5-4e55-931c-1f667c6a4bd8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "008e52b8-4728-48a3-8e7a-024822ed3c83", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/ports", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/states", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/volume", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/volume", "rel": "bookmark"}]} GET /v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b8767f81-476b-41ba-aae0-56e03 e57a1ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "008e52b8-4728-48a3-8e7a-024822ed3c83", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/ports", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/states", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/volume", "rel": "self"}, {"href": "http://localhost/nodes/008e52b8-4728-48a3-8e7a-024822ed3c83/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': '2f8f4ce5-5c39-4624-a0c4-7049876697d7', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'rescue_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7 Openstack-Request-Id: req-46331822-b787-4baf-8e0c-575e21946b7f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "2f8f4ce5-5c39-4624-a0c4-7049876697d7", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", " local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/states", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/volume", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/volume", "rel": "bookmark"}]} GET /v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4cb8651-ab71-43f6-a466-54917d86d1a7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "2f8f4ce5-5c39-4624-a0c4-7049876697d7", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/states", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/volume", "rel": "self"}, {"href": "http://localhost/nodes/2f8f4ce5-5c39-4624-a0c4-7049876697d7/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': '05c92e1a-949 f-45e9-80da-740542abc513', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'noop', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513 Openstack-Request-Id: req-0b9791b9-3a2d-4069-8c18-543edde5bdc3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "05c92e1a-949f-45e9-80da-740542abc513", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513/ports", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513/states", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513/volume", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513/volume", "rel": "bookmark"}]} GET /v1/nodes/05c92e1a-949f-45e9-80da-740542abc513 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-489d732a-6b53-4151-86ff-5f301857851e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "05c92e1a-949f-45e9-80da-740542abc513", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "nam e": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513/ports", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513/states", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/05c92e1a-949f-45e9-80da-740542abc513/volume", "rel": "self"}, {"href": "http://localhost/nodes/05c92e1a-949f-45e9-80da-740542abc513/volume", "rel": "bookmark"}]} POST /v1/nodes WITH {'uuid': '009fd380-7b37-48f0-be91-6899f690c9d6', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6 Openstack-Request-Id: req-5b4f5efe-b91f-4cac-a78b-378f788a69f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "009fd380-7b37-48f0-be91-6899f690c9d6", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/ports", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/states", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/volume", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/volume", "rel": "bookmark"}]} GET /v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5a88865-6d27-4d1d-ba0a-752edeb2a823 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "009fd380-7b37-48f0-be91-6899f690c9d6", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/ports", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/states", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/volume", "rel": "self"}, {"href": "http://localhost/nodes/009fd380-7b37-48f0-be91-6899f690c9d6/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.073616s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dbc18c4d-78e3-4e24-a5f9-0d9173a45e81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:34.479851+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.055798s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9315bcb4-2b6c-4fed-82bc-105bf4e313ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.204538s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/4819e822-4a2e-4182-a1b8-5f96119583d4 WITH [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6abc3088-1850-4837-ba59-3555dcb98bcf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.089857s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d6df31f1-9f46-47cb-8c64-1cd931c51453 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.236290s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4933b24c-700f-4f96-b89a-b0e45c07b6d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "70581fc3-01d9-44c1-b897-b4e515430a57", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/70581fc3-01d9-44c1-b897-b4e515430a57", "rel": "self"}, {"href": "http://localhost/ports/70581fc3-01d9-44c1-b897-b4e515430a57", "rel": "bookmark"}]}, {"uuid": "091db368-05e3-4fc1-836e-f671d659af99", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/091db368-05e3-4fc1-836e-f671d659af99", "rel": "self"}, {"href": "http://localhost/ports/091db368-05e3-4fc1-836e-f671d659af99", "rel": "bookmark"}]}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-27ed7e31-dcda-40f0-b7c4-d0a5e3b3bd6c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"ports": [{"uuid": "70581fc3-01d9-44c1-b897-b4e515430a57", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/70581fc3-01d9-44c1-b897-b4e515430a57", "rel": "self"}, {"href": "http://localhost/ports/70581fc3-01d9-44c1-b897-b4e515430a57", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=70581fc3-01d9-44c1-b897-b4e515430a57"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.075219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-838aa629-8b25-4a9b-acfe-c2accfb69464 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:34.714439+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.079943s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/123 123/ports WITH {} GOT Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for node: 123 123\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.160538s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2864a059-830e-4b33-9872-c95efced2b67 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:34.899304+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.318213s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4 WITH [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-851655c5-5cbc-4fc7-967f-32ccebbc1ba7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "bd32a3dc-e4dd-4ed7-95bd-89513d473fb4", "created_at": "2025-05-22T18:06:34.787000+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": true, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4", "rel": "self"}, {"href": "http://localhost/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4/ports", "rel": "self"}, {"href": "http://localhost/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4/states", "rel": "self"}, {"href": "http://localhost/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4/volume", "rel": "self"}, {"href": "http://localhost/nodes/bd32a3dc-e4dd-4ed7-95bd-89513d473fb4/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.274972s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dc88ceae-190f-4ed1-92f1-5e26c572f3f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:34.997554+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": "bar"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.531242s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-20a2c570-f6d7-43d0-92ed-ac9615afac95 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c1c48eba-4245-4e1f-8f9e-81a94f443ca6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a38c42a8-7f30-477e-a634-4ffc5f8ba662 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1a64cd51-779d-47d7-85b2-5cee51f7c8eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'manageme nt_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5b4844c5-5efe-4a81-a3a7-4d8a66f223b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-66d73f20-46e8-4a0d-978c-a66ad822d8be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-efa0ea58-f45b-4c7f-8ec5-55eca27bb093 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-57f6e3bf-7a42-43c7-946a-0144f087e62f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.108857s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7e86048-9569-4a1b-a90a-d7bee186b59b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup None could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.081238s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.141712s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.081731s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/04ef94b2-0084-4aff-b315-68f59101b205 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4c6290fa-64f8-42df-9a40-b11e6e82e98a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 04ef94b2-0084-4aff-b315-68f59101b205 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.247258s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed WITH [{'op': 'remove', 'path': '/protected'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d769b1d-0b6e-4a89-93d4-ead8e4d06c55 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "ee60a828-d7ab-4ba8-855f-2b5288489aed", "created_at": "2025-05-22T18:06:35.092816+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed", "rel": "self"}, {"href": "http://localhost/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed/ports", "rel": "self"}, {"href": "http://localhost/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed/states", "rel": "self"}, {"href": "http://localhost/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed/volume", "rel": "self"}, {"href": "http://localhost/nodes/ee60a828-d7ab-4ba8-855f-2b5288489aed/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.208651s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e1a61f69-f4ec-4186-aded-5b9912edb710 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected)\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_1_values ... SKIPPED: For value storage {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.173927s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-65067ff6-7c28-47a9-a386-be1df85409ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_2_unauthenticated_user_cannot_get_node [0.153719s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/687729e1-f9f7-4c92-81dd-00c4d07c383a WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e83ba7c9-3078-4ff9-a202-9f5fee96d385 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 687729e1-f9f7-4c92-81dd-00c4d07c383a could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.104406s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-18d5087d-a48b-4fb9-a408-581eea3461a0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "7ffb4dea-4169-44d7-b1e3-4ed6969f3645", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/7ffb4dea-4169-44d7-b1e3-4ed6969f3645", "rel": "self"}, {"href": "http://localhost/nodes/7ffb4dea-4169-44d7-b1e3-4ed6969f3645", "rel": "bookmark"}]}, {"uuid": "b92f4d5d-75dd-4658-9779-14b14f63dda6", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/b92f4d5d-75dd-4658-9779-14b14f63dda6", "rel": "self"}, {"href": "http://localhost/nodes/b92f4d5d-75dd-4658-9779-14b14f63dda6", "rel": "bookmark"}]}, {"uuid": "ca9b8aaf-8245-4d72-aa0e-1f80879438a7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/ca9b8aaf-8245-4d72-aa0e-1f80879438a7", "rel": "self"}, {"href": "http://localhost/nodes/ca9b8aaf-8245-4d72-aa0e-1f80879438a7", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.225612s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-14562dd0-2b48-4658-8b6f-a7ad4ce1108e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.307061s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54 WITH [{'path': '/protected', 'value': 'True', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-525dec88-b0bb-4208-a13c-6e7e63d11b9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "1b5bddf1-339d-46f3-a6ed-50c544038f54", "created_at": "2025-05-22T18:06:35.352370+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54", "rel": "self"}, {"href": "http://localhost/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54/ports", "rel": "self"}, {"href": "http://localhost/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54/states", "rel": "self"}, {"href": "http://localhost/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54/volume", "rel": "self"}, {"href": "http://localhost/nodes/1b5bddf1-339d-46f3-a6ed-50c544038f54/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.099591s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?sort_key=resource_class WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f0824c13-4e9a-483d-b10d-f87693627181 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"nodes": [{"uuid": "71bbfea1-5d66-4720-b682-6362055d0d1b", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/71bbfea1-5d66-4720-b682-6362055d0d1b", "rel": "self"}, {"href": "http://localhost/nodes/71bbfea1-5d66-4720-b682-6362055d0d1b", "rel": "bookmark"}]}, {"uuid": "37b27650-2cff-41c8-94f1-a6d5de7c4b41", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/37b27650-2cff-41c8-94f1-a6d5de7c4b41", "rel": "self"}, {"href": "http://localhost/nodes/37b27650-2cff-41c8-94f1-a6d5de7c4b41", "rel": "bookmark"}]}, {"uuid": "3ba51d8e-3e70-48ac-854f-72e1bee0259e", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/3ba51d8e-3e70-48ac-854f-72e1bee0259e", "rel": "self"}, {"href": "http://localhost/nodes/3ba51d8e-3e70-48ac-854f-72e1bee0259e", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_3_project_admin_can_get_node [0.129393s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/e7599f71-9637-4a4a-b3c6-dc79f72ec743 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cb37a49f-7322-47c9-80c0-9809132b64a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node e7599f71-9637-4a4a-b3c6-dc79f72ec743 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.115876s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e0c28c67-9673-471f-8020-f776feb2d114 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/nodes?sort_key=properties WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-30f6a026-8b17-4cb9-bd78-ff3b84b2803f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/nodes?sort_key=driver_info WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-811e562e-50b7-4d82-b629-19ea9f222bcb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/nodes?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a007dfe-6560-4d36-a6d0-4666b6869288 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/nodes?sort_key=instance_info WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-19a684c2-0be5-41ec-919b-91759d155e09 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/nodes?sort_key=driver_internal_info WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0928669e-a8bf-490d-b55d-2f71aaac340a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/nodes?sort_key=clean_step WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4b2ce211-aa92-4d20-9b6c-b292eaba9c8d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/nodes?sort_key=traits WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-24b087dc-1c92-45e0-8c79-161c367fdc6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_4_project_member_cannot_get_node [0.110309s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/0a605f11-0f12-4e3b-904a-c6c674da2230 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-50d81ab4-eeb2-483e-a999-0401a46da2c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 0a605f11-0f12-4e3b-904a-c6c674da2230 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.217163s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/66bcc6e0-13bc-4be7-a174-fc5bdaab7f5b WITH [{'path': '/protected', 'value': 'YeahNahGood', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f98a824-d6ab-4511-b813-1506f00aaf9f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid protected: Unrecognized value 'YeahNahGood', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.085359s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?sort_key=resource_class WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9f8b8274-c286-469a-8940-eff5de4d3e39 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.301205s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-5ad175e9-6c2c-4b15-b6f9-82d7b02a71da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:35.726438+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2fdd486d-4ed5-4dd2-a713-1e4dee8889ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:35.726438+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_5_public_api [0.118666s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22933c73-9257-40a6-9b45-6bb7f3e05f5c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.136449s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?associated=false WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d70b2eaf-b8b2-462a-8ff2-7c6d004d8e11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "fe468b9d-88ad-4e0d-bd9a-3c6d40a20f23", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/fe468b9d-88ad-4e0d-bd9a-3c6d40a20f23", "rel": "self"}, {"href": "http://localhost/nodes/fe468b9d-88ad-4e0d-bd9a-3c6d40a20f23", "rel": "bookmark"}]}, {"uuid": "773f66de-1930-4601-bd74-bc78572c2830", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/773f66de-1930-4601-bd74-bc78572c2830", "rel": "self"}, {"href": "http://localhost/nodes/773f66de-1930-4601-bd74-bc78572c2830", "rel": "bookmark"}]}, {"uuid": "06322409-ca44-4c1d-b853-eada3058f6b7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/06322409-ca44-4c1d-b853-eada3058f6b7", "rel": "self"}, {"href": "http://localhost/nodes/06322409-ca44-4c1d-b853-eada3058f6b7", "rel": "bookmark"}]}]} GET /v1/nodes?associated=FALSE WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-097937c4-c271-4508-b6b7-1018cd788ad1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "fe468b9d-88ad-4e0d-bd9a-3c6d40a20f23", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/fe468b9d-88ad-4e0d-bd9a-3c6d40a20f23", "rel": "self"}, {"href": "http://localhost/nodes/fe468b9d-88ad-4e0d-bd9a-3c6d40a20f23", "rel": "bookmark"}]}, {"uuid": "773f66de-1930-4601-bd74-bc78572c2830", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/773f66de-1930-4601-bd74-bc78572c2830", "rel": "self"}, {"href": "http://localhost/nodes/773f66de-1930-4601-bd74-bc78572c2830", "rel": "bookmark"}]}, {"uuid": "06322409-ca44-4c1d-b853-eada3058f6b7", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/06322409-ca44-4c1d-b853-eada3058f6b7", "rel": "self"}, {"href": "http://localhost/nodes/06322409-ca44-4c1d-b853-eada3058f6b7", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.203367s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-afa99ace-70f2-4cb8-9740-af02969aa147 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:35.953768+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-86577944-310c-4e6d-9c8e-485b8c82f695 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:35.953768+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_6_public_api_v1 [0.156696s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a08fb072-e2bf-4789-b1f1-cf2a2064f321 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}], "shards": [{"href": "http://localhost/v1/shards/", "rel": "self"}, {"href": "http://localhost/shards/", "rel": "bookmark"}], "runbooks": [{"href": "http://localhost/v1/runbooks/", "rel": "self"}, {"href": "http://localhost/runbooks/", "rel": "bookmark"}], "inspection_rules": [{"href": "http://localhost/v1/inspection_rules/", "rel": "self"}, {"href": "http://localhost/inspection_rules/", "rel": "bookmark"}], "continue_inspection": [{"href": "http://localhost/v1/continue_inspection/", "rel": "self"}, {"href": "http://localhost/continue_inspection/", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.359785s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/259f5556-1e08-4862-8434-286dd4de09ea WITH [{'path': '/protected', 'value': True, 'op': 'replace'}, {'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2e3f945-46eb-4ccc-a282-89ba06922ff2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "259f5556-1e08-4862-8434-286dd4de09ea", "created_at": "2025-05-22T18:06:35.922467+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/259f5556-1e08-4862-8434-286dd4de09ea", "rel": "self"}, {"href": "http://localhost/nodes/259f5556-1e08-4862-8434-286dd4de09ea", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/259f5556-1e08-4862-8434-286dd4de09ea/ports", "rel": "self"}, {"href": "http://localhost/nodes/259f5556-1e08-4862-8434-286dd4de09ea/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/259f5556-1e08-4862-8434-286dd4de09ea/states", "rel": "self"}, {"href": "http://localhost/nodes/259f5556-1e08-4862-8434-286dd4de09ea/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/259f5556-1e08-4862-8434-286dd4de09ea/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/259f5556-1e08-4862-8434-286dd4de09ea/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/259f5556-1e08-4862-8434-286dd4de09ea/volume", "rel": "self"}, {"href": "http://localhost/nodes/259f5556-1e08-4862-8434-286dd4de09ea/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_7_public_api_v1_slash [0.099639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d22c779-544e-4797-a680-cc002918d3c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}], "shards": [{"href": "http://localhost/v1/shards/", "rel": "self"}, {"href": "http://localhost/shards/", "rel": "bookmark"}], "runbooks": [{"href": "http://localhost/v1/runbooks/", "rel": "self"}, {"href": "http://localhost/runbooks/", "rel": "bookmark"}], "inspection_rules": [{"href": "http://localhost/v1/inspection_rules/", "rel": "self"}, {"href": "http://localhost/inspection_rules/", "rel": "bookmark"}], "continue_inspection": [{"href": "http://localhost/v1/continue_inspection/", "rel": "self"}, {"href": "http://localhost/continue_inspection/", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.214355s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-284b6064-5e4d-4620-882c-3f9ad8f1c51e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:36.151947+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-355b4892-15ff-4270-bcbd-2b15fd8d0e7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:36.151947+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_8_public_api_v1_json [0.109363s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1.json WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_9_public_api_v1_xml [0.064587s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1.xml WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.054357s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62dc3b3f-8616-4e4f-9bea-0c4623c078b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"chassis": []} {0} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.037237s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Basic realm="Baremetal API" {"error":{"message":"Authorization required","code":401}} {0} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.036977s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f770a669-a819-401d-aaad-cafd6205b718 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.325418s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/db9727e3-13de-4ce5-97dc-6a53b2977e4b WITH [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a8b2a21d-039e-4757-b64e-c4442335ef36 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "db9727e3-13de-4ce5-97dc-6a53b2977e4b", "created_at": "2025-05-22T18:06:36.250256+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/db9727e3-13de-4ce5-97dc-6a53b2977e4b", "rel": "self"}, {"href": "http://localhost/nodes/db9727e3-13de-4ce5-97dc-6a53b2977e4b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/db9727e3-13de-4ce5-97dc-6a53b2977e4b/ports", "rel": "self"}, {"href": "http://localhost/nodes/db9727e3-13de-4ce5-97dc-6a53b2977e4b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/db9727e3-13de-4ce5-97dc-6a53b2977e4b/states", "rel": "self"}, {"href": "http://localhost/nodes/db9727e3-13de-4ce5-97dc-6a53b2977e4b/states", "rel": "bookmark"}]} {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.033040s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.284637s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-998a57bf-9208-437d-aae1-74bd01c98e8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:36.454336+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b544e1b-63b6-4215-a55f-001973275a07 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:36.454336+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.060440s] ... ok {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.055450s] ... ok {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.029320s] ... ok {0} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.031559s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-396e9832-2ddd-4a7c-ba53-d7991752853b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.727271s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes?associated=False&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c9fe7a9c-5387-481b-9323-541d2e234bfe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"nodes": [{"uuid": "258e54db-7a58-45f0-9d7a-8d6d5598ccae", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/258e54db-7a58-45f0-9d7a-8d6d5598ccae", "rel": "self"}, {"href": "http://localhost/nodes/258e54db-7a58-45f0-9d7a-8d6d5598ccae", "rel": "bookmark"}]}, {"uuid": "365d11be-604f-4cb3-879a-04a9121282bd", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": null, "links": [{"href": "http://localhost/v1/nodes/365d11be-604f-4cb3-879a-04a9121282bd", "rel": "self"}, {"href": "http://localhost/nodes/365d11be-604f-4cb3-879a-04a9121282bd", "rel": "bookmark"}]}], "next": "http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=2&marker=365d11be-604f-4cb3-879a-04a9121282bd"} {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.042524s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/foo WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.031422s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ GOT Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-915f736c-100f-486f-9c72-f1043db992e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The server could not comply with the request since it is either malformed or otherwise incorrect.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.024359s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.334039s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/c8689556-9cd1-461b-8018-3b83a3c0ee1b WITH [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9febe846-29fc-420e-a48a-87fa925e5bf3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "c8689556-9cd1-461b-8018-3b83a3c0ee1b", "created_at": "2025-05-22T18:06:36.585441+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/c8689556-9cd1-461b-8018-3b83a3c0ee1b", "rel": "self"}, {"href": "http://localhost/nodes/c8689556-9cd1-461b-8018-3b83a3c0ee1b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c8689556-9cd1-461b-8018-3b83a3c0ee1b/ports", "rel": "self"}, {"href": "http://localhost/nodes/c8689556-9cd1-461b-8018-3b83a3c0ee1b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c8689556-9cd1-461b-8018-3b83a3c0ee1b/states", "rel": "self"}, {"href": "http://localhost/nodes/c8689556-9cd1-461b-8018-3b83a3c0ee1b/states", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.028411s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.131206s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/validate?node=spam WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-adf8e721-920e-4073-8523-6439614a661a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_conductor_group [0.301008s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-09c81d39-a92b-4d09-b98c-7ba8cce624f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:36.744534+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-17a7b346-41ad-4638-8086-b5814b82a0da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:36.744534+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "magic", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes /1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.038450s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.021524s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.044012s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.119776s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/validate?node=spam WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4d29a240-266a-4b38-8158-bd056c73e39a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.036957s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.188841s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/f1f966ba-db5a-4a61-9658-883fd0872104 WITH [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c599e702-774a-4ab2-aeff-7657b8a372e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.023428s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.023031s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.021594s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.029621s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.021043s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.144903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-36a76cbb-c389-4434-abdf-fb0d9220af6c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {} {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.028123s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.021338s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.313979s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-04e7c50f-b47f-4a10-84ef-e1cb9db7d92e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:37.020229+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-81f31ebf-2451-4c24-b033-cb7b8c85d097 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:37.020229+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "class1", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.024095s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.031754s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.020206s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.138666s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b6efac1f-0a1b-4798-938d-718451121ed9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {} {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.033243s] ... ok {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.029207s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.310100s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/a5724805-3727-434c-8426-83f48dd29a7f WITH [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2a2efa05-5f33-46ac-85bd-48c54a52bb7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.045083s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_invalid_uuid_or_name [0.109484s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1234~1234~1234 WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1448cbe9-f017-4a6c-8ea9-c8833ab142d7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a logical name or UUID but received 1234~1234~1234.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.031300s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.232997s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'reservation': 'fake'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-01d3aefa-3f9d-4cb8-8d4b-cab1c0bef297 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('reservation' was unexpected)\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.029720s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.033686s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.028017s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.023056s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context_with_environ [0.022459s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.029584s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.144187s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9b5a9894-669a-4122-bac1-8cac845ebb58 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict_older_api_server [0.031680s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.022805s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.268044s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a009f423-eae0-4c56-a3f6-24edd6421f9a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "6a6a3b07-ef34-4219-9c3a-cda93549635d", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6a6a3b07-ef34-4219-9c3a-cda93549635d", "rel": "self"}, {"href": "http://localhost/volume/connectors/6a6a3b07-ef34-4219-9c3a-cda93549635d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "5b02741e-e8dc-40dd-93d1-b91ef4b9c177", "connector_id": "test-connector_id-1", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/5b02741e-e8dc-40dd-93d1-b91ef4b9c177", "rel": "self"}, {"href": "http://localhost/volume/connectors/5b02741e-e8dc-40dd-93d1-b91ef4b9c177", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-827b3ea6-4cf1-431d-aa4a-41722d626b62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "6a6a3b07-ef34-4219-9c3a-cda93549635d", "connector_id": "test-connector_id-0", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6a6a3b07-ef34-4219-9c3a-cda93549635d", "rel": "self"}, {"href": "http://localhost/volume/connectors/6a6a3b07-ef34-4219-9c3a-cda93549635d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=1&marker=6a6a3b07-ef34-4219-9c3a-cda93549635d"} {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.020773s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_dict_get_auth_token_info [0.022198s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.350482s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74 WITH [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-45abe735-8503-4f95-98b3-c8bf88e6e655 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "257ce546-ad03-4fce-9a77-34dd36eb1f74", "created_at": "2025-05-22T18:06:37.430855+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74", "rel": "self"}, {"href": "http://localhost/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74/ports", "rel": "self"}, {"href": "http://localhost/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74/states", "rel": "self"}, {"href": "http://localhost/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74/volume", "rel": "self"}, {"href": "http://localhost/nodes/257ce546-ad03-4fce-9a77-34dd36eb1f74/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.030327s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.053207s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.200280s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0f292f6e-b81e-49d3-bd75-db316e0cf623 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.148949s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a989eb63-f130-432d-a6cb-a1fb716594b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.043742s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.212219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/99da05dc-3490-438c-a437-8bac89f15d24 WITH [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-af3da50d-eefc-4b4f-804a-e7778c7a2f64 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.130911s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.111670s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.117502s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.107043s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eadf2444-1732-4682-9e47-0af6644025bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.137896s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.145388s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-555c5e75-a0bb-4de7-a4dc-b8d3b0743758 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.094804s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.119411s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.133510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-acc122b5-1d63-4308-8998-d2d67449ef6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fallback_defaults [0.071260s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.326015s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421 WITH [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-92323ffc-5e26-4be7-85ec-74e561956ef8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "78c1ce99-9050-4b70-a99a-af6a3ddfb421", "created_at": "2025-05-22T18:06:38.011195+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": true, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421", "rel": "self"}, {"href": "http://localhost/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421/ports", "rel": "self"}, {"href": "http://localhost/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421/states", "rel": "self"}, {"href": "http://localhost/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421/volume", "rel": "self"}, {"href": "http://localhost/nodes/78c1ce99-9050-4b70-a99a-af6a3ddfb421/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.045256s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.141345s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dfdae923-50f1-4221-bc73-93f3fcdca7ee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:38.229639+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.055740s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.173561s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5ab8e8bd-a58b-4680-9a22-1d72eb7c406d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.063011s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 202 Accepted Openstack-Request-Id: req-e1eadf06-e398-427a-bc87-99504229bb07 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.087847s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.076691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/node-109/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 202 Accepted Openstack-Request-Id: req-50284ae3-5021-4620-b9f0-d3bb588622cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.067210s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.054603s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT Response: 202 Accepted Openstack-Request-Id: req-ed097f3f-be6d-4fbe-8e43-d79a435ffef4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.064505s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.245100s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-70612e40-47b1-4eec-b28f-1c73944be7b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "99a3a5b2-5a78-4847-bffd-5a7d110cd37e", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/99a3a5b2-5a78-4847-bffd-5a7d110cd37e", "rel": "self"}, {"href": "http://localhost/volume/targets/99a3a5b2-5a78-4847-bffd-5a7d110cd37e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "16e2e2a0-c065-42d0-b54b-f58538a8a9d8", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/16e2e2a0-c065-42d0-b54b-f58538a8a9d8", "rel": "self"}, {"href": "http://localhost/volume/targets/16e2e2a0-c065-42d0-b54b-f58538a8a9d8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9fc52f44-4e19-41be-a397-5ed1de400254 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "99a3a5b2-5a78-4847-bffd-5a7d110cd37e", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/99a3a5b2-5a78-4847-bffd-5a7d110cd37e", "rel": "self"}, {"href": "http://localhost/volume/targets/99a3a5b2-5a78-4847-bffd-5a7d110cd37e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=1&marker=99a3a5b2-5a78-4847-bffd-5a7d110cd37e"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.053531s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.088909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9f37dc4c-35d5-4cb7-8650-6a5f47f0f58e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 "foo" {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.054693s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.085165s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c080cdc3-00e5-44a0-8e63-9066d7147df7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.096661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-071f1b5e-e760-40d5-b496-449b4b4c5aa2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"foo": "bar"} GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d12bb32-756f-4121-8fe2-effbee76db99 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"foo": "bar"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.063399s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.081473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.047025s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-45e0717c-6887-45ef-9323-7271f9582288 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support test (disabled or not implemented).\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.038825s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test WITH {'test_key': 'test_value'} GOT Response: 202 Accepted Openstack-Request-Id: req-9d55561b-d659-4ccb-bcc7-299deb27a9b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.074844s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.052239s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test WITH {'foo': 'bar'} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fdab35e1-3009-40ca-8479-80f9cf6db73e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_inventory [0.090577s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c24f443-c1ce-4689-9d5f-b8cf1ec6a4f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.81 {"inventory": {"cpu": {"count": 1, "model_name": "qemu64", "architecture": "x86_64"}}, "plugin_data": {"disks": [{"name": "/dev/vda"}]}} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.075641s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.050188s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru WITH {'foo': 'bar'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b438174e-6a14-4de4-9c26-3d9ca92b2199 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_inventory_no_inventory [0.090532s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2cf7d2f0-0adb-496c-9c8a-479af4f786c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.81 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node inventory record for node 1 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.065264s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanhold [0.050211s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-0463c646-5937-4b52-bbef-4e82cffbdb0a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.85 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.058391s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f9dbb124-5fe5-4c72-a30a-db1a696136f9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.072314s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.818613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb WITH [{'op': 'remove', 'path': '/retired'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-15bb1b72-fae7-45b4-836d-14fd4d302103 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb", "created_at": "2025-05-22T18:06:38.853611+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb", "rel": "self"}, {"href": "http://localhost/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb/states", "rel": "self"}, {"href": "http://localhost/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c2f3a3e-efbc-4ff4-97b1-ba47db3642fb/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeInventory.test_get_old_version [0.116403s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.066159s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.080005s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent [0.202519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/d0eb7b63-5943-4f69-8e20-02a769b2c004 WITH [{'path': '/parent_node', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-513ff460-b8ee-4a03-96e2-225331330034 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:39.105817+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "djarin", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.221813s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/85a72933-c2ad-4ae2-9044-2532f924420d WITH [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9058670b-3acf-4e3c-92b8-6890586f136a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "85a72933-c2ad-4ae2-9044-2532f924420d", "created_at": "2025-05-22T18:06:39.130998+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/85a72933-c2ad-4ae2-9044-2532f924420d", "rel": "self"}, {"href": "http://localhost/nodes/85a72933-c2ad-4ae2-9044-2532f924420d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/85a72933-c2ad-4ae2-9044-2532f924420d/ports", "rel": "self"}, {"href": "http://localhost/nodes/85a72933-c2ad-4ae2-9044-2532f924420d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/85a72933-c2ad-4ae2-9044-2532f924420d/states", "rel": "self"}, {"href": "http://localhost/nodes/85a72933-c2ad-4ae2-9044-2532f924420d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/85a72933-c2ad-4ae2-9044-2532f924420d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/85a72933-c2ad-4ae2-9044-2532f924420d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/85a72933-c2ad-4ae2-9044-2532f924420d/volume", "rel": "self"}, {"href": "http://localhost/nodes/85a72933-c2ad-4ae2-9044-2532f924420d/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent_node_fail_wrong_version [0.131977s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/4497a0ba-e818-424d-b725-6a109d9eef8b WITH [{'path': '/parent_node', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-808502f5-b967-4a1b-89d8-fa87f3f76ef5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_deployhold [0.424364s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-501d4d6f-759e-464d-ab3b-4724cd67d831 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.85 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.198318s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'power_state': 'new state'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-644ee2b6-3753-4602-ad46-1fd4d18ab93d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: Additional properties are not allowed ('power_state' was unexpected)\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.077077s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2addf0d1-0159-4af9-862f-f1478cffdb4e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.051618s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'adopt'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e2727b65-9b4c-40db-9bbe-d83a301b2a79 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.058613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'adopt'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-74c50112-22a5-47a5-acd8-690787a9c538 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {0} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.452577s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.059457s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'adopt'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-fbb976c5-0205-4b9b-8d2b-d1d86e2f6463 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.066095s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.045644s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'adopt'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-97a3f469-3d7a-49a6-b8b3-73e47042a153 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.241328s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b WITH [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a6a6f4a-4354-441f-9e3b-f030695267b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "56b2bc6c-29cf-41ff-b09b-72348947096b", "created_at": "2025-05-22T18:06:39.592281+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b", "rel": "self"}, {"href": "http://localhost/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b/ports", "rel": "self"}, {"href": "http://localhost/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b/states", "rel": "self"}, {"href": "http://localhost/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b/volume", "rel": "self"}, {"href": "http://localhost/nodes/56b2bc6c-29cf-41ff-b09b-72348947096b/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_add_parent_node_not_uuid [0.389634s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1aa4373e-fa4f-4e36-9c5a-f66a25a9d44a WITH [{'path': '/parent_node', 'value': 'djarin', 'op': 'add'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6ed801ac-5041-4683-9967-6088f0a4ed48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"(sqlite3.InterfaceError) Error binding parameter 0 - probably unsupported type.\\n[SQL: SELECT allocations.id AS allocations_id, allocations.uuid AS allocations_uuid, allocations.name AS allocations_name, allocations.node_id AS allocations_node_id, allocations.state AS allocations_state, allocations.owner AS allocations_owner, allocations.last_error AS allocations_last_error, allocations.resource_class AS allocations_resource_class, allocations.traits AS allocations_traits, allocations.candidate_nodes AS allocations_candidate_nodes, allocations.extra AS allocations_extra, allocations.conductor_affinity AS allocations_conductor_affinity, allocations.version AS allocations_version, allocations.created_at AS allocations_created_at, allocations.updated_at AS allocations_updated_at \\nFROM allocations \\nWHERE allocations.id = ?]\\n[parameters: (,)]\\n(Background on this error at: https://sqlalche.me/e/20/rvf5)\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.071382s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ebe42f1-b98e-492b-975b-8073a7c51e58 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c07f63be-a725-4a4f-b064-62be1154535b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-603dc7fe-c4eb-4b5b-9637-32ff5946d33d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.090084s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.071296s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae65584a-3c48-469c-a6ba-0f76b593ae05 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0382bbf-9f5a-4ba6-9438-3d9a125c2102 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-77e151ea-0b2b-4607-ba18-084202a0480d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.073501s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePatch.test_node_remove_parent [0.103154s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/a99e646a-3778-433f-b63f-48ce14b90dd0 WITH [{'path': '/parent_node', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd44a32d-df10-4a57-b2a8-7bd6b00ae2e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:39.806601+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "djarin", "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.161464s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/5797e1e6-5989-4bb2-8aa0-9600fe073163 WITH [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3e8c3dec-656d-4f73-92dd-925887ca11ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.084241s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-55aa37fb-de22-419e-92f9-522d64967aa9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-084b37c9-2954-4483-8a8b-93d491175c20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eeffeb62-63e8-4741-b08b-8149931da524 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.098032s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_named_parent_node_succeeds [0.103952s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '1103c52f-ce50-4ac3-8b41-e261096b9fdb', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'parent_node': 'din'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb Openstack-Request-Id: req-dd5af39c-a5dc-4e38-be3b-2b70381236aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"uuid": "1103c52f-ce50-4ac3-8b41-e261096b9fdb", "created_at": "2025-05-22T18:06:39.965468+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb", "rel": "self"}, {"href": "http://localhost/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb/ports", "rel": "self"}, {"href": "http://localhost/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb/states", "rel": "self"}, {"href": "http://localhost/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb/volume", "rel": "self"}, {"href": "http://localhost/nodes/1103c52f-ce50-4ac3-8b41-e261096b9fdb/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.053235s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'bios'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-baf4e92d-8db2-4dda-9486-63c5335abf34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.045553s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'bios'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-61e4f945-3a22-4446-bd99-78ac7810a35a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.092115s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.040349s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'unsupported-efi'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-62eab74a-8f67-4ad4-9be4-a09bac931c1e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid boot mode unsupported-efi requested for node. Allowed boot modes are: bios, uefi\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.196725s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/5bf10c90-bd75-4b21-bc08-84dbe6936f46 WITH [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6f1f12ca-b839-4159-bf98-4f69246a9714 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /traits. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, disable_power_off, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, shard, storage_interface, vendor_interface, parent_node, firmware_interface\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_parent_node [0.136801s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '2f72b947-52fe-4a07-a9b3-e74461a42910', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'parent_node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910 Openstack-Request-Id: req-8d202717-a31a-4308-a831-75f58925f08e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"uuid": "2f72b947-52fe-4a07-a9b3-e74461a42910", "created_at": "2025-05-22T18:06:40.087720+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/states", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/volume", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/volume", "rel": "bookmark"}]} GET /v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0cb2aa05-773f-4d24-a37c-4b4fb9c1eb8b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"uuid": "2f72b947-52fe-4a07-a9b3-e74461a42910", "created_at": "2025-05-22T18:06:40.087720+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_ step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "parent_node": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/states", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/volume", "rel": "self"}, {"href": "http://localhost/nodes/2f72b947-52fe-4a07-a9b3-e74461a42910/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.048454s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4aa3ac6c-24c2-4c7f-b670-56ae6e88f9e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.109089s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.066200s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d0bb3ac3-9735-49fb-915f-f2821407b381 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeParentNodePost.test_create_node_with_parent_node_fail_wrong_version [0.104242s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'uuid': '814750f8-601f-43e4-b8de-2d604802c504', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'parent_node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-066e3958-2a61-42e5-a7c0-4f55134e8e6f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.112353s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e77619bd-ac35-43ad-9b12-8302a0f27a5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.255648s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True WITH [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-16bebe44-e9d6-4e54-9983-ed0ca2ab645c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:40.164066+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node-57.1", "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_action_error_cases [0.180470s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPatch.test_node_add_shard [0.166536s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/shard', 'value': 'shard1', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba6c60b7-33d5-49ec-8f08-a645e3703b91 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:06:40.273964+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node-57.1", "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.124707s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18ab2771-2207-45d8-a98a-2342733f5066 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"bad\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeShardPatch.test_node_add_shard_fail_wrong_version [0.086747s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'path': '/shard', 'value': 'shard1', 'op': 'add'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-10e1cd3a-8b8e-4b6e-a591-d070cec8cbb1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_multi [0.147691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?shard=shard1,shard2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-28608af2-99db-4b41-8db0-7ab0eba0c0cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"ports": [{"uuid": "4ff46cd4-2222-413c-8408-883e2baf763d", "address": "aa:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/4ff46cd4-2222-413c-8408-883e2baf763d", "rel": "self"}, {"href": "http://localhost/ports/4ff46cd4-2222-413c-8408-883e2baf763d", "rel": "bookmark"}]}, {"uuid": "2c2ba8d4-34e0-41a9-996e-2be86277857d", "address": "ab:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/2c2ba8d4-34e0-41a9-996e-2be86277857d", "rel": "self"}, {"href": "http://localhost/ports/2c2ba8d4-34e0-41a9-996e-2be86277857d", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.052521s] ... ok {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_action_path_dot_slash_notation [0.172591s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.122343s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-fe17adcd-8315-40eb-beb9-f6844320c712 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.70 {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.052440s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_single [0.099631s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?shard=test_shard WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-052f6c94-6e20-43a1-bde4-e6fece047388 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.82 {"ports": [{"uuid": "e57e9026-40ee-4ae2-9eb5-73cdfcc76437", "address": "aa:bb:cc:dd:ee:ff", "links": [{"href": "http://localhost/v1/ports/e57e9026-40ee-4ae2-9eb5-73cdfcc76437", "rel": "self"}, {"href": "http://localhost/ports/e57e9026-40ee-4ae2-9eb5-73cdfcc76437", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.050341s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.107928s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2212e900-601a-426a-addf-9ce3fd61f696 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.69 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"disable_ramdisk is not acceptable in this API version\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_action_with_dict_loop [0.112899s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPortsByShard.test_get_by_shard_single_fail_api_version [0.100797s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports?shard=test_shard WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d986dbee-4b6c-456f-9e6d-6d0b92fdfd90 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.82\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.112394s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.047093s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.123208s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-823a3183-c99f-4f67-8e4d-a6881da821b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_action_with_list_loop [0.133223s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.147605s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-ed332037-5f03-4bf4-8c6f-839197d19294 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7a05843-65b3-4143-b0cd-45c401ec60b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.072032s] ... ok {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_add_trait_action [0.105364s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.047370s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_with_runbooks [0.160488s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'runbook': 'CUSTOM_1'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-0fadddc6-24d2-4a0a-a17d-337bc4450ba5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.062154s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.063411s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.208858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-771268a8-82fa-46e7-8848-733c66067375 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:40.999231+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} POST /v1/portgroups WITH {'uuid': 'd8bc92e7-9c7d-4e42-83ea-9e2a0a5bcb9e', 'name': '3744cbe4-a672-47d8-b155-037665f6c27d', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3d6952de-ccc2-42e4-9422-80b0687ef3d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_del_attribute_action [0.161405s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.054669s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_with_runbooks_unapproved [0.157586s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'clean', 'runbook': 'CUSTOM_1'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-74f227d2-0b27-47ca-ac4e-d22a70a0e531 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This runbook has not been approved for use on this node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Please ask an administrator to add it to your node traits.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.051719s] ... ok {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_del_port_attribute_action [0.109079s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.148420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-b954f951-8535-4e23-a828-fdb59ed5af4b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:41.173776+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0416e9c-2fc7-4b49-8b85-b1d70bed772d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:41.173776+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.096245s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.144544s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 204 No Content Openstack-Request-Id: req-4f62ebb6-6ed6-430d-8972-898a674527ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.057668s] ... ok {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_extend_attribute_action [0.142947s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.114832s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-fcae5074-bfc1-4afc-8f73-96f78aa84005 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:41.315047+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.095433s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1740597d-d752-4bd0-8cca-4a940a4b954f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.063668s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.060682s] ... ok {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_extend_plugin_data_action [0.115756s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.036385s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.150210s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-52c98ecb-c09c-472d-a4b6-ee923faf6f21 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:41.438410+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-948c2e69-59b4-4bf4-8fed-1ed6c3dc9cbb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:41.438410+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.028328s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.171890s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-51b229d0-d964-40f9-a379-09a8ec1cbdbb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_extend_port_attribute_action [0.140207s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.121023s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8f9c1c67-ad73-4117-83bb-308476aa4e38 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0882374b-3018-408d-9fd3-7ceedb642a16 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.140608s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e14ac7ad-85ee-4e2d-b874-8510a47d32da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_fail_action [0.102067s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.214259s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a877266b-3db1-4abd-879d-0d9c7212fbd3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.146279s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af Openstack-Request-Id: req-23acb5f9-7ed6-449f-b1b4-5eacf934082d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a7f2cd64-4939-49c1-a0bb-896885e3f1af", "created_at": "2025-05-22T18:06:41.738228+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af", "rel": "self"}, {"href": "http://localhost/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af/ports", "rel": "bookmark"}]} GET /v1/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b9d51fda-e2dd-4870-8e54-51d3837c1192 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a7f2cd64-4939-49c1-a0bb-896885e3f1af", "created_at": "2025-05-22T18:06:41.738228+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af", "rel": "self"}, {"href": "http://localhost/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af/ports", "rel": "self"}, {"href": "http://localhost/portgroups/a7f2cd64-4939-49c1-a0bb-896885e3f1af/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_log_action [0.109912s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.084536s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'internal_info': 'info'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7fcec694-10e2-4f1d-9ab1-8e51d284b550 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_remove_trait_action [0.112728s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.195705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'abort'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3aa77a55-140f-4577-9ced-2902db5c711a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.357911s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-dd09630b-6ae3-4bfd-80de-092c59a3fe20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.079535s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'invalid-format', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4bb55b0a-5e3f-4c7b-a268-0b5a158a6ed0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_set_attribute_action [0.123550s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.087770s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-870f6f96-8ef2-4101-889c-13417a50eb32 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.104513s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-182f353f-23a4-4d25-85ad-743699eafb55 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:42.049568+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-71721113-6eda-423b-b47b-b0434153b1d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:42.049568+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.181835s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'manageable'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4db817a2-0a61-409e-99e2-1c2b4fd107a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.071854s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': 'invalid-format', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80215226-4405-4226-ba12-8154ac6bb426 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_set_capability_action [0.147724s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.114670s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6580d948-d64a-4a6b-a7b4-1f71e62aa115 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:42.158827+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5300a2f-55c8-435f-931b-13d8f0b1fcf6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:42.158827+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.127660s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d3e7aa63-af3e-409f-9928-f55a6b9c8d19 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'properties': {'bond_prop': 123}} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ca0a1805-0540-4a0e-afde-424dd0370cd4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.150458s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'inspect'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75e7b515-6e3a-4e89-ac44-e4477ea6170d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.103592s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b98bec1e-219f-452c-b82e-6cda17df1ac9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_set_plugin_data_action [0.157571s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.111308s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'properties': {'bond_prop': 123}} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-30916084-0f7f-4e77-af06-dc47425a54af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:42.377109+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "802.3ad", "name": "fooname", "properties": {"bond_prop": 123}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.112398s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'inspect'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f6c7a503-ddf5-47d1-855f-072e607c4135 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.160567s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/60b57f0f-0c59-43a4-8b9d-df4c2de06992 Openstack-Request-Id: req-8303600e-cbdb-427f-b0c3-972b8f8d378a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "60b57f0f-0c59-43a4-8b9d-df4c2de06992", "created_at": "2025-05-22T18:06:42.420672+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/60b57f0f-0c59-43a4-8b9d-df4c2de06992", "rel": "self"}, {"href": "http://localhost/ports/60b57f0f-0c59-43a4-8b9d-df4c2de06992", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET /v1/ports/60b57f0f-0c59-43a4-8b9d-df4c2de06992 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-45b6ea4a-bfd8-4d95-98a6-6f9bf6bf2410 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "60b57f0f-0c59-43a4-8b9d-df4c2de06992", "created_at": "2025-05-22T18:06:42.420672+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/60b57f0f-0c59-43a4-8b9d-df4c2de06992", "rel": "self"}, {"href": "http://localhost/ports/60b57f0f-0c59-43a4-8b9d-df4c2de06992", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_set_port_attribute_action [0.161707s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.096121s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'aa:bb_cc', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8b79241-e520-44c5-8c4f-0b4d639a0172 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.129505s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'manage'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-7d327a90-fa55-46f1-85c3-f5eebbc8aa81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.100396s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'invalid-format', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-59afcb58-cfbf-4e00-8a20-30758ef956f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.144762s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'foo', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-db8bc2b1-4239-4aad-95cf-b4a795ca07d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:42.598174+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "foo", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-56579276-bbcc-4403-b6e0-964970264485 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:42.598174+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "foo", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_unset_capability_action [0.170506s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.106705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': 'invalid-format', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5c43f6d4-fddc-484d-97e1-f8dd2ee77767 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_inspection_rule.TestActions.test_unset_plugin_data_action [0.117448s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.149222s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-7fcfed9a-530c-4166-acd6-e8e15dd31742 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:42.747903+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ece05be0-e569-445e-b464-2c1e958f3c4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:42.747903+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure [0.052159s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_foreign_class [0.032632s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.175661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': '', 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f99401fc-50b6-411c-9975-f86eb75ad807 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.093055s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79a5128a-c677-4a94-bb52-8c5875499419 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_version_and_cap [0.024746s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_ipv4_success [0.023900s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_ipv6_success [0.025314s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_ipv6_success_rfc2732 [0.024857s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success [0.026667s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.111219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ce82736c-0121-4750-be85-8d6009afd1f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version [0.024740s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version_and_cap [0.023106s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.174016s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 1234, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-15d93c05-0e81-4e4b-bae4-7aa347ba75d3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_unexpected_failure [0.030869s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_with_client_ssl [0.036864s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.133190s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-9edc606e-9e17-462c-b026-32a359c605a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-66c967e0-1c05-491a-b3ab-3b7fb9d87b3d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_with_ssl [0.035367s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_can_send_version [0.021707s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_failure [0.029104s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.155355s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0a3a9c7-6576-4a48-ba08-b718f709a5e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_success [0.025888s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_success_with_version [0.036733s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.714641s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'manage'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-591d0b6b-1879-4071-ab1f-1e751673a9c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_mask_secrets [0.027457s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.164149s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-1cd88302-57f8-42d0-82c5-bd2d2c343026 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:43.263804+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-606d6ff4-37c0-4a7c-9976-5566fd82f4d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:43.263804+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated [0.042830s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_no_admin_role [0.027583s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_no_allowed_role [0.038374s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.091510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2dd260f3-e8e2-4d53-b447-fe2dc1480a5b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_with_allowed_role [0.032746s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.173746s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power off'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a5ae1c63-45bf-4042-98fb-13b8a19b8bfe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power off'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4f9d8757-9f9a-4052-8659-5995f259b9cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"clean wait\\\".\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure [0.044881s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.267654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-226fd168-7811-4b80-8540-896bfaf0da62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:43.465740+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15", "switch_info": "value3"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure_oslo [0.031227s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_http_basic [0.044839s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.149507s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-54fd7da3-27ec-4001-86eb-b0c353083cf6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:43.547341+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_http_basic_not_authenticated [0.029735s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.139084s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'not-supported'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-01671ca1-85ca-48c9-9719-32c6ad2fe2a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"None\\\".\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_invalid_requests [0.030331s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.084442s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_status': 'invalid_state', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2e019a2a-ad12-49eb-866c-04ffa41a0167 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.188754s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'switch_info': 'fooswitch'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c415c7f-5b93-449d-9a68-cf0a3be957ee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: {'switch_id': '0a:1b:2c:3d:4e:5f', 'switch_info': 'fooswitch'} is not valid under any of the given schemas. Possible root cause: 'port_id' is a required property\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.117724s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/states/power WITH {'target': 'power on'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-a34d9aea-e440-4b2d-9e7e-4f6f0f550aec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.120256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url2'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bd8ca87d-9801-42a1-865e-fe1704fc8b47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.083305s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1d067765-393b-40a7-9520-3d1be45cc953 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_malformed_context [0.235691s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_file_url [0.081756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'file:///path/to/the/wizzard'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-951f86b0-fd82-4edb-bc1a-997d9eb82863 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"An issue with the supplied \\\"callback_url\\\" has been detected.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_mask_secrets [0.029983s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_found [0.028018s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_post [0.035795s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.276597s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a03db068-8be1-425c-8ee3-59165f5dfc5c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:43.926782+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_missing_argument [0.026781s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.091481s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/3c8ffd95-c129-40d3-a954-ff992365bb2d WITH {'callback_url': 'https://url'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3cbef7a8-97cc-4e3b-8d23-95a378ed9868 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 3c8ffd95-c129-40d3-a954-ff992365bb2d could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_no_context [0.027625s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_off_with_disable_power_off [0.211337s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power off'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-10f5208d-95b1-4291-b703-115c39b7e61f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to set node power state to power off.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_no_deny_methods [0.030442s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_non_json_body [0.027005s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.079132s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'x'} GOT Response: 202 Accepted Openstack-Request-Id: req-383d3c4d-3137-499a-ac55-a4999c02ed29 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.common.test_json_rpc.TestService.test_notification [0.033540s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_success [0.030649s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_success_no_result [0.029437s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.093200s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT Response: 202 Accepted Openstack-Request-Id: req-473a4e19-15ce-40c1-bccc-271e3830b097 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.150719s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 0} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-010997ef-9ae2-436c-bf7b-890c883448b1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.217204s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'zz:zz:zz:zz:zz:zz', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2ba0ab39-7587-4d33-b17f-602be6ae42b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_json_rpc.TestService.test_unexpected_failure [0.038663s] ... ok {0} ironic.tests.unit.common.test_keystone.AuthConfTestCase.test_add_auth_opts [0.040203s] ... ok {0} ironic.tests.unit.common.test_keystone.AuthConfTestCase.test_os_service_types_alias [0.023407s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.098569s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'http://url', 'agent_token': 'abcdef1'} GOT Response: 202 Accepted Openstack-Request-Id: req-641b999a-a0a0-4db0-9236-37f19b32ebc7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.021529s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.100187s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 0} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0447123a-531f-42e5-8594-20555f2bcb80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.021291s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.031263s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.110592s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} GOT Response: 202 Accepted Openstack-Request-Id: req-04d32f14-aa05-40dc-9d26-7afef9fddd4e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.080193s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.233004s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ffe5449e-cace-46d0-a08e-440e4521161d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:44.376027+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.139374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 0} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89c7f4c6-f5ea-4fb0-b2ce-fede4dfe70be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.026418s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.081370s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_version': '1.4.1', 'agent_token': 'meow'} GOT Response: 202 Accepted Openstack-Request-Id: req-394ef95f-1297-4047-9293-d8841f60fea4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.071537s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.135507s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4fae004a-cab1-4b1d-994e-fa8f1e3d34ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_missing_address_fails [0.142196s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0d9c3164-4683-4d4f-a867-286e463bfe19 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.090056s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/test.1 WITH {'callback_url': 'https://url', 'agent_token': 'token'} GOT Response: 202 Accepted Openstack-Request-Id: req-f8bf656c-75a5-4d3f-ad4c-da7366f9ce9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.123120s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.100571s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-99787596-df8b-456e-8e32-ba9a1459f6da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_for_anaconda [0.105134s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': '', 'agent_token': 'x'} GOT Response: 202 Accepted Openstack-Request-Id: req-f27b4de5-9a70-47ea-8144-7e8a9ec169a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.137073s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9a11e9c8-3e50-44b8-85e7-40e8b5f220e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.088960s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-5dd45604-b700-40f7-8faa-dd0c4adb8800 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.128564s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.106531s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json WITH {'callback_url': 'https://url', 'agent_token': 'maybe some magic'} GOT Response: 202 Accepted Openstack-Request-Id: req-b552d6fc-567d-46af-95fc-8e9fde6f94d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.106446s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 2} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8f77d4bc-f08f-44a0-b4e6-6f9961375118 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.153904s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-66ec8c72-c506-40e8-af81-97c26831bc06 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} is not valid under any of the given schemas. Possible root cause: 'node_ident' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.076850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c2dd2802-6cba-4dfc-8c7e-d31569db2491 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.063063s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_version': '1.4.1'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-941780f8-4ae9-4eb2-bdb4-342caaf83a06 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.155563s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.103141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 2} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f99fc023-bed0-4d2f-aa81-f8864ffc168e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.144912s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b9f7bfd-0442-4305-951e-4803ab59d78d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.079256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0d1752e-4b53-4476-b221-12e11856a3ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.71 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.096169s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on', 'timeout': 2} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-cc9db0cc-b34b-4a9c-87a8-b1bc044e6331 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.054603s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/61286f6e-0c45-445d-8727-905bff0fb5d4 WITH {'callback_url': 'https://url'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6ba43a72-024f-4216-a807-7ca3e2e9f553 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.137640s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.068842s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f177853e-2d5c-478c-b29c-ad37c45f631a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}], "shards": [{"href": "http://localhost/v1/shards/", "rel": "self"}, {"href": "http://localhost/shards/", "rel": "bookmark"}], "runbooks": [{"href": "http://localhost/v1/runbooks/", "rel": "self"}, {"href": "http://localhost/runbooks/", "rel": "bookmark"}], "inspection_rules": [{"href": "http://localhost/v1/inspection_rules/", "rel": "self"}, {"href": "http://localhost/inspection_rules/", "rel": "bookmark"}], "continue_inspection": [{"href": "http://localhost/v1/continue_inspection/", "rel": "self"}, {"href": "http://localhost/continue_inspection/", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.156453s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-80072e04-11bf-4abd-ac42-3c5eb91b3272 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:45.151586+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.108332s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 0} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-11e5c108-6074-4236-a0ce-8a711487c262 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_microversion_headers [0.067762s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.140622s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.103888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 0} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ac215658-86d1-40e5-85c0-7951ecde3d5c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.180585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7bd41c96-0022-48b4-a5e9-d0046a3e5344 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:45.332891+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.091719s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 0} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d108fa26-dc25-4ff8-9879-07edb0f893a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.173580s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.102287s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a9cdc1cc-3018-4e4e-9b37-5d16edd484a3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.162917s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7c8bb913-6da1-445a-b139-ddf870813d6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:45.507751+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.090444s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-812e80a6-273a-44f1-8052-57e56b13af7b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.187128s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.108299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4499ba70-bf90-4774-a975-6b211581e672 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.486438s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12ad2443-2353-47e6-a444-8f6877caedf3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.176361s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-fb6b5e5d-6939-4428-89ee-b50530631908 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:45.688819+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {0} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.171533s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.065155s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5726daad-879a-4338-9e73-fa37ea2d739a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.090413s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 2} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3e2e5b3f-4eb6-42e6-ae38-68467b4b9867 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.055796s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_by_name [0.095368s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/CUSTOM_DT1 GOT Response: 204 No Content Openstack-Request-Id: req-04575bb0-d9db-497f-a7d5-f036086c31f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_fixed_ip_l2 [0.065731s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.175084s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6531757d-ad0e-47f7-a016-7156c47358c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that portgroup as the port's 'pxe_enabled' field was set to True.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_by_name_non_existent [0.076619s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/blah GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-57e994e9-6f14-4462-835e-c2744e191404 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Runbook blah could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_fixed_ip_l3 [0.065572s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.050566s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_by_uuid [0.075570s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/f963e819-5161-4825-a0c3-104e199551a7 GOT Response: 204 No Content Openstack-Request-Id: req-f79558de-cb46-4606-b152-aebb37ccebbc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_invalid_api_version [0.062696s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/8264fdcd-3bad-42e2-a554-5954d340368f GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow runbooks\"}"} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.085223s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.222794s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-1828889e-ad3a-46cd-8821-a5fb70340717 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:46.078993+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.064666s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestDelete.test_delete_old_api_version [0.066636s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/CUSTOM_DT1 GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow runbooks\"}"} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.071186s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_collection_links [0.097187s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f6ae3ff-405b-45ef-a316-2e1510ded61f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "2eeb878d-422b-4673-8c4b-ebad4713f750", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/2eeb878d-422b-4673-8c4b-ebad4713f750", "rel": "self"}, {"href": "http://localhost/runbooks/2eeb878d-422b-4673-8c4b-ebad4713f750", "rel": "bookmark"}]}, {"uuid": "0105f598-2452-4b1f-a606-3ab2958d3a97", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/0105f598-2452-4b1f-a606-3ab2958d3a97", "rel": "self"}, {"href": "http://localhost/runbooks/0105f598-2452-4b1f-a606-3ab2958d3a97", "rel": "bookmark"}]}, {"uuid": "12b4b6fa-1d8f-405b-9507-772612efbef6", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/12b4b6fa-1d8f-405b-9507-772612efbef6", "rel": "self"}, {"href": "http://localhost/runbooks/12b4b6fa-1d8f-405b-9507-772612efbef6", "rel": "bookmark"}]}], "next": "http://localhost/v1/runbooks?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=12b4b6fa-1d8f-405b-9507-772612efbef6"} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.083551s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.564174s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 2} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7ff32c59-bad6-48c5-8a0a-f4111d77ad0d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_collection_links_custom_fields [0.092436s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?fields=uuid,steps WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a04aa422-fe47-4fd1-980d-784158084990 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "b23d4d79-abc2-44c4-abc1-c9642fb6fc06", "links": [{"href": "http://localhost/v1/runbooks/b23d4d79-abc2-44c4-abc1-c9642fb6fc06", "rel": "self"}, {"href": "http://localhost/runbooks/b23d4d79-abc2-44c4-abc1-c9642fb6fc06", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "ceccb85c-8f47-47be-b2f6-3eb482df1145", "links": [{"href": "http://localhost/v1/runbooks/ceccb85c-8f47-47be-b2f6-3eb482df1145", "rel": "self"}, {"href": "http://localhost/runbooks/ceccb85c-8f47-47be-b2f6-3eb482df1145", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "5d0038da-915d-4795-b12a-a9cc63f3719a", "links": [{"href": "http://localhost/v1/runbooks/5d0038da-915d-4795-b12a-a9cc63f3719a", "rel": "self"}, {"href": "http://localhost/runbooks/5d0038da-915d-4795-b12a-a9cc63f3719a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}], "next": "http://localhost/v1/runbooks?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=5d0038da-915d-4795-b12a-a9cc63f3719a"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.259513s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-fed15b41-f664-4ff9-b1df-c9649af8367a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:46.333966+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.081422s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_collection_links_default_limit [0.105280s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-87fd955c-6758-43de-b9d5-e6a4e1307d84 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "f6ef7e7e-3d44-409d-8da9-1078f721e35d", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/f6ef7e7e-3d44-409d-8da9-1078f721e35d", "rel": "self"}, {"href": "http://localhost/runbooks/f6ef7e7e-3d44-409d-8da9-1078f721e35d", "rel": "bookmark"}]}, {"uuid": "65952b83-5951-4505-acda-bb891a0cb0b7", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/65952b83-5951-4505-acda-bb891a0cb0b7", "rel": "self"}, {"href": "http://localhost/runbooks/65952b83-5951-4505-acda-bb891a0cb0b7", "rel": "bookmark"}]}, {"uuid": "100a280a-ab2c-481e-884b-4fea20b2cbdd", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/100a280a-ab2c-481e-884b-4fea20b2cbdd", "rel": "self"}, {"href": "http://localhost/runbooks/100a280a-ab2c-481e-884b-4fea20b2cbdd", "rel": "bookmark"}]}], "next": "http://localhost/v1/runbooks?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=100a280a-ab2c-481e-884b-4fea20b2cbdd"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.106900s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off', 'timeout': 2} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-ae883982-739f-4c2b-bdc4-2a279d295f72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.072945s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.138650s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '5b1218b6-aff7-48bb-b19b-c98167403bae', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-459e0f61-cce6-4993-a035-3beaa3ecdce9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 5b1218b6-aff7-48bb-b19b-c98167403bae could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.057392s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_detail_query [0.072887s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2bdf2e59-5162-439f-bf84-e126192ccccc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "89260333-3cfa-401d-a722-aecbd606c5da", "created_at": "2025-05-22T18:06:46.503319+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/89260333-3cfa-401d-a722-aecbd606c5da", "rel": "self"}, {"href": "http://localhost/runbooks/89260333-3cfa-401d-a722-aecbd606c5da", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}]} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.048223s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_detail_query_false [0.080469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-803c7d49-0227-43b9-9f34-4dda37df965e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "adcdf692-6cbf-48f4-b812-4671a4899953", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/adcdf692-6cbf-48f4-b812-4671a4899953", "rel": "self"}, {"href": "http://localhost/runbooks/adcdf692-6cbf-48f4-b812-4671a4899953", "rel": "bookmark"}]}]} GET /v1/runbooks?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea1fec7b-09a4-4cdd-93c1-6ed4fbf26985 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "adcdf692-6cbf-48f4-b812-4671a4899953", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/adcdf692-6cbf-48f4-b812-4671a4899953", "rel": "self"}, {"href": "http://localhost/runbooks/adcdf692-6cbf-48f4-b812-4671a4899953", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.040830s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_with_disable_power_off [0.186986s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'soft power off'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-fc9cd732-fa0b-42da-ae1a-87679352f065 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to set node power state to soft power off.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.156271s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7c6d2f49-0cee-46a9-bfd4-42d94e1b3c70 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.068606s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_detail_sort_key_allowed [0.097100s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?sort_key=name&detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bfbce1e9-58f7-46a7-a6c6-91cac520e6da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "14d6dc43-8551-4ed5-beb0-61e158b597ab", "created_at": "2025-05-22T18:06:46.670687+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/14d6dc43-8551-4ed5-beb0-61e158b597ab", "rel": "self"}, {"href": "http://localhost/runbooks/14d6dc43-8551-4ed5-beb0-61e158b597ab", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "0fdb0cc7-4b43-45bb-b6db-0f8156fcb772", "created_at": "2025-05-22T18:06:46.669313+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/0fdb0cc7-4b43-45bb-b6db-0f8156fcb772", "rel": "self"}, {"href": "http://localhost/runbooks/0fdb0cc7-4b43-45bb-b6db-0f8156fcb772", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "b8194b0e-5e67-48c9-b66b-dca1d4b64c92", "created_at": "2025-05-22T18:06:46.665463+00:00", "updated_at": null, "name": "CUSTOM_DT3", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/b8194b0e-5e67-48c9-b66b-dca1d4b64c92", "rel": "self"}, {"href": "http://localhost/runbooks/b8194b0e-5e67-48c9-b66b-dca1d4b64c92", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}]} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound [0.049574s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_detail_using_query_and_fields [0.067145s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?detail=True&fields=name WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c7bec1f3-f688-4c11-9b8e-a436d0cc9bd8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound_not_bound [0.075336s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_detail_using_query_false_and_fields [0.068713s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?detail=False&fields=steps WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6373f203-27f3-4730-9792-310ebac4294b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"links": [{"href": "http://localhost/v1/runbooks/dc76f79b-cfe8-4f8c-93db-dd0eb4496856", "rel": "self"}, {"href": "http://localhost/runbooks/dc76f79b-cfe8-4f8c-93db-dd0eb4496856", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.187338s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b2d76cfe-e718-47b0-b93f-4cdbefb21a26 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound_not_bound_empty [0.077973s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_empty [0.071692s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-358393b3-289a-4a20-aeb9-c2a95119eafa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.279888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'provide'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-091dd0df-5ef1-4454-b3ff-d6a8c80e41af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound_port_not_found [0.068809s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_all_invalid_api_version [0.070107s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow runbooks\"}"} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_if_bound_port_osc_error [0.067633s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.188412s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e43ce364-3e35-4069-978f-4f4cd68a44b8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_collection_custom_fields [0.084514s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?fields=uuid,steps WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d39d6a7d-1404-4810-84bb-d688cdccedae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "7594a2c8-a47c-46c9-a53b-cdc4eda6120b", "links": [{"href": "http://localhost/v1/runbooks/7594a2c8-a47c-46c9-a53b-cdc4eda6120b", "rel": "self"}, {"href": "http://localhost/runbooks/7594a2c8-a47c-46c9-a53b-cdc4eda6120b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "5c301c27-8ee8-4b28-b450-f913c8794569", "links": [{"href": "http://localhost/v1/runbooks/5c301c27-8ee8-4b28-b450-f913c8794569", "rel": "self"}, {"href": "http://localhost/runbooks/5c301c27-8ee8-4b28-b450-f913c8794569", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}, {"uuid": "79f4b540-597f-45fe-9c45-4a29cc48cf37", "links": [{"href": "http://localhost/v1/runbooks/79f4b540-597f-45fe-9c45-4a29cc48cf37", "rel": "self"}, {"href": "http://localhost/runbooks/79f4b540-597f-45fe-9c45-4a29cc48cf37", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]}]} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.060090s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.209667s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-82321b8e-3caa-4305-82ec-1919ef017795 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.060841s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_collection_pagination_no_uuid [0.098540s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?fields=name&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a327773f-bcb7-4b58-b27d-27e700c364e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/dc2e4536-08e5-45c4-bd8a-e26f52a41309", "rel": "self"}, {"href": "http://localhost/runbooks/dc2e4536-08e5-45c4-bd8a-e26f52a41309", "rel": "bookmark"}]}, {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/0313c3ac-a329-457a-ad31-3c9acce3414b", "rel": "self"}, {"href": "http://localhost/runbooks/0313c3ac-a329-457a-ad31-3c9acce3414b", "rel": "bookmark"}]}], "next": "http://localhost/v1/runbooks?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=0313c3ac-a329-457a-ad31-3c9acce3414b"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.124141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'value1', 'port_id': 'Ethernet1/15', 'switch_foo': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d34716a-670e-4516-abd3-40fb3e5830ef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: {'switch_id': 'value1', 'port_id': 'Ethernet1/15', 'switch_foo': 'value3'} is not valid under any of the given schemas. Possible root cause: Additional properties are not allowed ('switch_foo' was unexpected)\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.057293s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.062261s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_custom_fields_invalid_fields [0.104138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/2280a4d0-d2ae-4966-915e-3bb4876afca5?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-657c9f29-cd68-45b7-9705-44e93578ccdb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.179213s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-adba8e05-7f97-4f07-b1c2-e550b942498a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.054682s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_one [0.086538s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/6d6586f8-e4af-4353-977e-51813d76921b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aa868337-6486-4cf4-9580-6f01a8b69c43 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6d6586f8-e4af-4353-977e-51813d76921b", "created_at": "2025-05-22T18:06:47.337713+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/6d6586f8-e4af-4353-977e-51813d76921b", "rel": "self"}, {"href": "http://localhost/runbooks/6d6586f8-e4af-4353-977e-51813d76921b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test__resolve_tag [0.050086s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.224972s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-626e45d8-f864-41e9-86d7-eacf8bbb4789 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:47.336841+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d76e008-3101-4b87-947a-c71c04511fa9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:47.336841+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test__resolve_tag_auth_needed [0.063561s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_one_custom_fields [0.093319s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/deff6f8f-4938-4bfa-8c81-3222cb889bd3?fields=name,steps WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5972a438-a5cd-43be-99f5-bffe85486c30 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/deff6f8f-4938-4bfa-8c81-3222cb889bd3", "rel": "self"}, {"href": "http://localhost/runbooks/deff6f8f-4938-4bfa-8c81-3222cb889bd3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test__resolve_tag_follows_links [0.049222s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.158212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/states/provision WITH {'target': 'active'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-03deb95b-74ec-4cf6-8e6e-a82e5658a5d6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test__resolve_tag_if_not_found [0.037577s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_get_one_invalid_api_version [0.071035s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/3c857f4d-08cc-4685-8bb4-44e4d5593589 WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow runbooks\"}"} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test__resolve_tag_temp_failure [0.024858s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_bad_header [0.031547s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_basic_auth [0.026110s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.205392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8a22ac51-fbad-4ad5-a7d0-43663987ded3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:47.585587+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_basic_auth_no_username [0.023437s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_bearer_auth [0.022227s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.187262s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/states/provision WITH {'target': 'active'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd187c7f-57d3-423e-9ee6-4ebeade221f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_fallback_to_service_config [0.024323s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_401_no_header [0.025846s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_authenticate_noop [0.029802s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_links [0.206747s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0bf1df28-d5d5-442e-8483-352c3587be11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fcc342b5-e90a-4d3c-978e-f2009d2470f6", "created_at": "2025-05-22T18:06:47.627679+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6", "rel": "self"}, {"href": "http://localhost/runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} GET /v1/runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-69ae5207-4e00-4fac-938e-b60643704eeb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fcc342b5-e90a-4d3c-978e-f2009d2470f6", "created_at": "2025-05-22T18:06:47.627679+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6", "rel": "self"}, {"href": "http://localhost/runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} GET /runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-25426195-1ca5-41f2-ac33-d232ca76141f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fcc342b5-e90a-4d3c-978e-f2009d2470f6", "created_at": "2025-05-22T18:06:47.627679+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6", "rel": "self"}, {"href": "http://localhost/runbooks/fcc342b5-e90a-4d3c-978e-f2009d2470f6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest [0.026706s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest_code_401 [0.025360s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest_code_403 [0.025194s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest_code_404 [0.032986s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_deploy [0.171326s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-fd417bff-9e4d-43c0-a174-280f1eacfe31 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.73 {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_many [0.152620s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ad6c169-e213-4231-9ed2-9df2a7d2858f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "0d19d386-495f-485d-87ea-c8e1f8798bcb", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/0d19d386-495f-485d-87ea-c8e1f8798bcb", "rel": "self"}, {"href": "http://localhost/runbooks/0d19d386-495f-485d-87ea-c8e1f8798bcb", "rel": "bookmark"}]}, {"uuid": "40bb0994-01e8-49bf-bd27-d0cb669d66f2", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/40bb0994-01e8-49bf-bd27-d0cb669d66f2", "rel": "self"}, {"href": "http://localhost/runbooks/40bb0994-01e8-49bf-bd27-d0cb669d66f2", "rel": "bookmark"}]}, {"uuid": "a77c5074-dd15-4233-939d-66da555426dc", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/a77c5074-dd15-4233-939d-66da555426dc", "rel": "self"}, {"href": "http://localhost/runbooks/a77c5074-dd15-4233-939d-66da555426dc", "rel": "bookmark"}]}, {"uuid": "ad77e071-5bcf-4268-8aea-eb6f1ed2dee3", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/runbooks/ad77e071-5bcf-4268-8aea-eb6f1ed2dee3", "rel": "self"}, {"href": "http://localhost/runbooks/ad77e071-5bcf-4268-8aea-eb6f1ed2dee3", "rel": "bookmark"}]}, {"uuid": "a6a29905-c275-4012-aeed-e12fa62e5178", "name": "CUSTOM_DT4", "links": [{"href": "http://localhost/v1/runbooks/a6a29905-c275-4012-aeed-e12fa62e5178", "rel": "self"}, {"href": "http://localhost/runbooks/a6a29905-c275-4012-aeed-e12fa62e5178", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.330843s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-5afbed08-b173-44c2-8676-4747fc88427e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:47.884519+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.101951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'not-supported'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-45f350ab-802f-44f6-bf98-8484143c3145 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_one [0.110817s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5a4d915-1511-4d01-a609-71ce7c3d0730 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "e61c3019-c2ac-4bb1-b893-f77d31c61e79", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/e61c3019-c2ac-4bb1-b893-f77d31c61e79", "rel": "self"}, {"href": "http://localhost/runbooks/e61c3019-c2ac-4bb1-b893-f77d31c61e79", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.125812s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-87038115-7b5d-4d2e-9902-78bb6c695659 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_sensitive_data_masked [0.124007s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/260dbab8-4e70-4380-92d5-7f3e06c60ff3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-87aa993c-7c2f-4053-ac61-8df10c87aad1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "260dbab8-4e70-4380-92d5-7f3e06c60ff3", "created_at": "2025-05-22T18:06:48.109205+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/260dbab8-4e70-4380-92d5-7f3e06c60ff3", "rel": "self"}, {"href": "http://localhost/runbooks/260dbab8-4e70-4380-92d5-7f3e06c60ff3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": [], "password": "******"}, "order": 1}]} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.228759s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d9f99367-0566-4f86-9846-7562f510e545 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:48.146783+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest_code_500 [0.348409s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.132424s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-943d7c3a-f356-49f5-87dd-ab1a8d4b4666 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The provisioning operation can't be performed on node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 because it's in maintenance mode.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_download_blob_from_manifest_code_check [0.052434s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_sort_key [0.131321s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-575969d7-61c5-4ae9-8188-2e7d87dde3f0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "2356b656-f03c-4623-bac4-e2b0434bbb3f", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/2356b656-f03c-4623-bac4-e2b0434bbb3f", "rel": "self"}, {"href": "http://localhost/runbooks/2356b656-f03c-4623-bac4-e2b0434bbb3f", "rel": "bookmark"}]}, {"uuid": "665e54fe-6a82-498d-b531-efbdb4876460", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/665e54fe-6a82-498d-b531-efbdb4876460", "rel": "self"}, {"href": "http://localhost/runbooks/665e54fe-6a82-498d-b531-efbdb4876460", "rel": "bookmark"}]}, {"uuid": "aadcfcd2-e499-4345-8199-a638053671f4", "name": "CUSTOM_DT0", "links": [{"href": "http://localhost/v1/runbooks/aadcfcd2-e499-4345-8199-a638053671f4", "rel": "self"}, {"href": "http://localhost/runbooks/aadcfcd2-e499-4345-8199-a638053671f4", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_artifact_index_access_denied [0.051698s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.111076s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': ' '} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bc490974-7c70-47e3-8dff-fc811016304b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_artifact_index_not_authorized [0.051579s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.197639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2a45cdf8-b874-4616-9085-9b243eef345f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that portgroup as the port's 'pxe_enabled' field was set to True.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_sort_key_allowed [0.109999s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?sort_key=name&detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-03c93ae2-3625-4832-969b-b37970c22e20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "ecd5f961-a7bf-4477-9121-acb6df15ed0b", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/ecd5f961-a7bf-4477-9121-acb6df15ed0b", "rel": "self"}, {"href": "http://localhost/runbooks/ecd5f961-a7bf-4477-9121-acb6df15ed0b", "rel": "bookmark"}]}, {"uuid": "77e6b149-2ca7-4d52-af88-fef969b8b4de", "name": "CUSTOM_DT2", "links": [{"href": "http://localhost/v1/runbooks/77e6b149-2ca7-4d52-af88-fef969b8b4de", "rel": "self"}, {"href": "http://localhost/runbooks/77e6b149-2ca7-4d52-af88-fef969b8b4de", "rel": "bookmark"}]}, {"uuid": "da04b224-1b4a-4b73-89d1-45ef30a113ae", "name": "CUSTOM_DT3", "links": [{"href": "http://localhost/v1/runbooks/da04b224-1b4a-4b73-89d1-45ef30a113ae", "rel": "self"}, {"href": "http://localhost/runbooks/da04b224-1b4a-4b73-89d1-45ef30a113ae", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_artifact_index_not_found [0.062220s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_runbook.TestListRunbooks.test_sort_key_invalid [0.096890s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0fa7c71b-6114-4131-9568-70d4f953dbfb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/runbooks?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d8a3f1fe-6e42-49a5-968e-2f749ba22d51 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/runbooks?sort_key=steps WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7fdc6d69-2db0-405c-9430-1921920987e9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_artifact_index_temporaryfailure [0.048611s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_artifact_index_with_tag [0.050783s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.053172s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.215569s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-1bd2f540-8a2c-46d1-ac82-b8a490ff284a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e986698a-1b6c-4f87-90db-6e2b40776a40 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-dc898978-0250-4e5f-8c3f-817af6ac84cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-22af86f0-8639-4d74-a1ef-d388000f3518 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.199981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8f21a038-7ceb-408b-b0f6-3d3703eae66c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:48.530560+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.056796s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest [0.060738s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest_auth_required [0.054696s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.069066s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest_checksum_verifies [0.058164s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.064272s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_both_node_ident_and_node_uuid [0.182790s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'node_ident': 'test-node-name'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-25b0704b-6975-48dc-8fb9-dfd7ec274573 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'node_ident': 'test-node-name'} is valid under each of {'required': ['node_uuid']}, {'required': ['node_ident']}\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest_image_access_denied [0.062930s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.230151s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d1f8f270-6818-4220-a9ed-046336db9b75 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3f98ac53-28a1-46b4-8db6-d7430a89581e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ff16a934-20ac-43c0-8664-93180b083367 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f698b759-139d-43ba-bcba-c9a7dc7fb9ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_cant_set_only_logical [0.086196s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest_image_not_found [0.048415s] ... ok {0} ironic.tests.unit.common.test_oci_registry.OciClientRequestTestCase.test_get_manifest_image_temporary_failure [0.071297s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_cant_set_only_physical [0.079339s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.156391s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-369c9c19-f181-4daf-b08d-1a2444f5247a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.136399s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4fcdcca3-fe9a-44f9-901a-2c92fccf5296 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.091492s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.107023s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.117380s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'rescue_password': 'password'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a86b2852-afe5-4cd8-8c6c-1d48948e1011 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"rescue_password\\\" is only valid when setting target provision state to rescue\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.076464s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.161328s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'internal_info': {'a': 'b'}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-40766e1d-06cb-42b6-8ff8-92b861854d33 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.113362s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.086822s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_set_both_switches [0.075319s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.194391s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-09862b4e-b572-487b-a9ef-d5ff6f4fc366 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-551b1d6b-5b9f-4f55-a2b6-f2206de21854 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2a03d721-b05b-4301-83bb-3fb5ff8904a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.129821s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.079524s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.111060s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.275499s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'hostname': 'host1', 'port_id': 'rep0-0'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-992f193e-0bb3-4c1e-ac51-50a4cce496e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:49.292646+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": true, "local_link_connection": {"hostname": "host1", "port_id": "rep0-0"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.070769s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.072111s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_with_default [0.120219s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.244560s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d67efd11-5f56-497e-9203-13895dafd922 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3a643539-2075-486b-9006-41fa5633e7be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a4851f93-9aab-48c8-9075-c71e9236ee00 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9bc34360-e828-4fcb-bc5d-65b19e032912 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-19b6403e-7c39-4d2b-b595-58888b736de3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.072784s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.082517s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.144132s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.276604s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-b004e77e-b20e-4c65-9ce3-6e4e100b7e63 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:49.564547+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.161058s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'provide', 'clean_steps': 'foo'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86808701-5fbf-44b3-811c-6dbbc1c9b530 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , for clean_steps: foo\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.099382s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.154355s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.150629s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted', 'configdrive': 'foo'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c2764dd9-52bc-4d1d-8b9a-ab6163a6a592 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.102456s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.256614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f32bd6e4-354b-42c0-98d0-b945ad703a10 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Smart NIC port must have port_id and hostname in local_link_connection\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.126109s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.117226s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-67a0464f-0604-4557-bf78-d0d664e13306 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.145529s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.135763s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.090307s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.157419s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f4ba43a9-4567-4b1e-9ecc-2c6b4f63b474 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.200193s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'hostname': 'host'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0fae600-57d8-4ec7-97a2-b2950fad8e44 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'hostname': 'host'} is not valid under any of the given schemas. Possible root cause: 'port_id' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.092334s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.119146s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.104841s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': '\nw7FJYV8ywqx+wqnCpwPCoXHDisO6HMO2w4nDsBBJccOvXsKUMsO9OcOPCQLCnMKoPSFLwp\nDDhj7Ck8KqwprDpcKWw6XChsOMw5lSEcKUZcO0PUJiWcK4wq0owr4ye8Ozw67ClzXDmsO7\nUxvCpjnCkFQgw73Ch8Kaw5HCicKlXMOvUnDDvg5uwoFkwqDCl8KAEWwCbUQvw7I5JcKUw7\nVbKl3Di8O4LMKuwrHChMOBw5plaVJKci04w7fCgcOgVhkwwoLCgilxwqTCpDNCGzdNw5N6\nwpgAw6jDn8ODLBBlMGcawrEZwr3DiVPDtMKTwpcxwrpBwrrDtcOEw5YTw7MMwqnCsMKqwp\nPCkMK1wpTDssKfwrDCscOsEEDDo8OAw5DCqsKKGBRqwqPDqx7Cg8KkDcOkwoIuwo/CgcK0\nZcKNf3N7wqIYQcKgQDnCq8KFw6DCvMOwWAHChMO3w5xWb8O3wq7Dn8K4eXgWw742woUqw5\n/DvcK+ScKcX8KzwprCuD3DgcOsC8Oqwp0CwqB8TsOIHsKVwozCv8O+w4LCmE9GCMORw63D\nicOQw4ZFasOzw4Uvw7NSw6Qbw77DkBgkwo4COcOzOWLClRNQXcOHwojCrsOdHMKIw6nDuM\nORHMKeXMO8fcK0By7CiMKwHSXCoEQgfQhWwpMdSsO8LgHCjh87DQc= '} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-9ebe4898-b42e-4273-9da2-2ddb9431e01a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.105123s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.071140s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.028601s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.095216s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': {'user_data': 'foo'}} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-6202b525-8c6c-41f8-81b5-e0b6a2033033 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.024264s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.042610s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.046974s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.159806s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.048166s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.169563s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': {'user_data': {'serialize': 'me'}, 'meta_data': {'hostname': 'example.com'}, 'network_data': {'links': []}, 'vendor_data': {'foo': 'bar'}}} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a365b98c-25da-4cf4-b4d5-5abbd1b53934 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.045086s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.108947s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.098167s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': ['aabb']} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c2939c1d-dda7-4ff2-b335-856b878c11e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , , for configdrive: ['aabb']\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.143983s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e4e09e7f-e764-490e-bbbd-018322bf0213 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} GET /v1/volume/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5cee3ae-3193-41a5-ab86-26e872398d49 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} GET /volume/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5c6a3d4-eda1-45f2-8b45-4604d26cb65f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19782a2f-2480-49ac-b616-5c2238b91c54 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": []} GET /volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31b241a8-f97e-4abf-8e17-0db40c1cb438 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": []} GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1008c2a-e222-4437-837c-a2df76c29525 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": []} GET /volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8436471d-0f77-4400-a73d-b0418025bb5e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": []} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.160957s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.152758s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': '{"meta_data": '} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18df7400-2f21-41b7-8640-39316c13acb6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid configdrive format: it is neither a JSON, nor a URL, nor a base64 string\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.694927s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-69ba817c-b517-4fb8-b98f-c9bd6b76f335 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.156147s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.133655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'configdrive': 'http://example.com'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d0a0fc6a-7a32-4816-9646-c948777546df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.132856s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e1b89e9d-1f64-422e-a865-42f12f2c9633 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.160043s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.166371s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8acba3f1-8da3-4ca0-bc34-4aa5ce7d3baa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.100909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset'}]} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f3d645d7-f708-408a-a9f3-08f53773950a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.69\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.132797s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.178402s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-e0948884-f877-4281-af93-73fa8eca46d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:51.136743+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"network_type": "unmanaged"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.149133s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.701400s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/ WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e1c9a590-eae5-459f-babc-912c74e7549a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.148047s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-789e6918-d89c-4721-8bec-3e88457827db X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.121892s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.176211s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content Openstack-Request-Id: req-61632de8-96cf-4312-8fa8-4955abc52e86 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.139824s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.524290s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-fce5c3bd-2ae0-4321-8147-443938f600eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.133245s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_node_ident [0.313501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'node_ident': 'test-node-name'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-68092cde-f3b5-4986-98a0-1e9eca25c30a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:51.564291+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e60fd1f7-291f-44f5-9365-fac805cfe5d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:51.564291+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.104223s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild', 'configdrive': 'foo'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c4c48830-ef09-43b7-9389-ac706c8e18f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.065791s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-b21b3cfc-e10d-4683-bf1f-6b2540e9b2cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.232147s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_node_ident_unsupported_api_version [0.146466s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'node_ident': 'test-node-name'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cd4d35b0-a07a-417f-99c9-59ed14c63ebd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.93 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.205117s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-01f4e8f5-efc7-47bd-9e30-ce186945d277 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.086270s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rebuild', 'configdrive': 'foo'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3cca736-a505-44a4-8e9d-a51f4febf53e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.063352s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d7c99be6-096c-4659-a145-9710e0b9a361 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.053660s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8710689a-eda0-4bcf-bc24-f9b084fcc8fa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_node_uuid [0.197863s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-79a96abf-1e23-4593-90d1-1515eb6ed7b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:51.916239+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d31a915c-3ef9-42d2-a562-e65e02a05d76 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:51.916239+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.054372s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'undeploy'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-ecb8d238-73e9-4912-999a-911f4af704c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.250434s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.217137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-14518fc0-c4e5-4a03-bf12-1e3236ad108b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_unprovision_after_service_failed [0.078209s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deleted'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-1eb24c6e-1f78-4a1a-88fb-8ff9052f2eb4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.055728s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT Response: 204 No Content Openstack-Request-Id: req-9b54c23c-68ab-4791-b4c9-095c5649f28a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.163509s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d5638b4-2fe7-4133-962e-d224dff4a14e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "74be0a0f-bafb-435b-855b-a7f63cec8332", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/74be0a0f-bafb-435b-855b-a7f63cec8332", "rel": "self"}, {"href": "http://localhost/volume/targets/74be0a0f-bafb-435b-855b-a7f63cec8332", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "5bc1a378-e98e-4201-a957-46edd9f1a83f", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/5bc1a378-e98e-4201-a957-46edd9f1a83f", "rel": "self"}, {"href": "http://localhost/volume/targets/5bc1a378-e98e-4201-a957-46edd9f1a83f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "7011f406-9ffc-4c1b-b778-336f447456cf", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/7011f406-9ffc-4c1b-b778-336f447456cf", "rel": "self"}, {"href": "http://localhost/volume/targets/7011f406-9ffc-4c1b-b778-336f447456cf", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=3&marker=7011f406-9ffc-4c1b-b778-336f447456cf"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.066279s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1d5c00a8-54fc-49fc-a68f-18eebcb9b8f9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.204521s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.265683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ee848e58-edf2-4a74-9756-eb3275b1284e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:52.203162+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.054529s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c187c686-2a15-41fd-b779-38ad31c963a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"foo\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.060032s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f2666b8f-c75b-45fa-883e-c26037c1a139 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.156199s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-48a6f61e-a3aa-4bf3-ba2e-0cd66ee4cddc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "fe4b6d8b-2dab-42d7-8055-4c87c3b45bfb", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/fe4b6d8b-2dab-42d7-8055-4c87c3b45bfb", "rel": "self"}, {"href": "http://localhost/volume/targets/fe4b6d8b-2dab-42d7-8055-4c87c3b45bfb", "rel": "bookmark"}]}, {"uuid": "eb737987-8af8-4050-8297-c7f038e0b15e", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/eb737987-8af8-4050-8297-c7f038e0b15e", "rel": "self"}, {"href": "http://localhost/volume/targets/eb737987-8af8-4050-8297-c7f038e0b15e", "rel": "bookmark"}]}, {"uuid": "2eae5731-d4dc-4942-b3ff-05dcae6d53c1", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/2eae5731-d4dc-4942-b3ff-05dcae6d53c1", "rel": "self"}, {"href": "http://localhost/volume/targets/2eae5731-d4dc-4942-b3ff-05dcae6d53c1", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=2eae5731-d4dc-4942-b3ff-05dcae6d53c1"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.062302s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'rescue', 'rescue_password': 'password'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-567c740c-0719-4a0a-9d23-a3858f0c7253 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.199920s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.063388s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8d6a810a-beaf-493d-97c4-2ac7b009e99e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid secure_boot None requested for node. Allowed secure_boot states are: True, False) \", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.229154s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c6a86710-6eb2-478b-86f9-173cde58ff14 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.057363s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'boo!'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-700c5cb1-102a-4e10-a9bf-389f7bf2bd44 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value 'boo!', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.170019s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aceb5407-b9f3-477e-8bea-a8b4161c1ae9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "8b296334-fb9e-4fba-9b83-d68e18e683f4", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8b296334-fb9e-4fba-9b83-d68e18e683f4", "rel": "self"}, {"href": "http://localhost/volume/targets/8b296334-fb9e-4fba-9b83-d68e18e683f4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "8967e22f-a386-4350-ac8f-f4766e19897a", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/8967e22f-a386-4350-ac8f-f4766e19897a", "rel": "self"}, {"href": "http://localhost/volume/targets/8967e22f-a386-4350-ac8f-f4766e19897a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "53f5c774-9339-477d-b2c7-7e7e1cc6e316", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/53f5c774-9339-477d-b2c7-7e7e1cc6e316", "rel": "self"}, {"href": "http://localhost/volume/targets/53f5c774-9339-477d-b2c7-7e7e1cc6e316", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=3&marker=53f5c774-9339-477d-b2c7-7e7e1cc6e316"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.045562s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': ''} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bccbe663-3022-477f-89e8-e31b21e9200b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value '', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.052327s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': False} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-37e29813-780f-4b96-99ca-611c20e28473 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.179353s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.048637s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': False} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-6649cc18-144d-47de-b1b4-8ce5f5355f2a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.155429s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?detail=True&limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-077a83f3-9eaa-480a-a6b3-f68eb0977925 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "d6026cf0-5c75-4147-935e-2076bc9b67d2", "created_at": "2025-05-22T18:06:52.625229+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/d6026cf0-5c75-4147-935e-2076bc9b67d2", "rel": "self"}, {"href": "http://localhost/volume/targets/d6026cf0-5c75-4147-935e-2076bc9b67d2", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "200156e9-db5c-4dcd-bbaa-a79b47eda3da", "created_at": "2025-05-22T18:06:52.632684+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/200156e9-db5c-4dcd-bbaa-a79b47eda3da", "rel": "self"}, {"href": "http://localhost/volume/targets/200156e9-db5c-4dcd-bbaa-a79b47eda3da", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "296e75ca-1a40-477a-879c-350ded0ad1d8", "created_at": "2025-05-22T18:06:52.634844+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/296e75ca-1a40-477a-879c-350ded0ad1d8", "rel": "self"}, {"href": "http://localhost/volume/targets/296e75ca-1a40-477a-879c-350ded0ad1d8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=296e75ca-1a40-477a-879c-350ded0ad1d8"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.052334s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 0} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d97a7b3b-5a7e-42ef-b882-2815c2257442 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.221636s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-502d1247-d1df-4da2-b3d6-7fdcc92e208f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.066949s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 2} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5a93fc16-ae80-4c11-8743-a0b0864bf39c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value '2', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.129052s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-675f1df4-3112-4f6f-a98b-5e7b145ebf07 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:52.787151+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.190125s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.111273s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-39309a3d-3070-40ea-8b64-589eb36499b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.078944s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0769cd88-17ab-4c23-9f96-61b48b8ec0c3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.181827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b9603c1e-b9d2-4697-a684-fe160839fb77 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.071641s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': True} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-0602c3cc-25fe-4a46-a185-f5eab47a171d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.086496s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=boot_index,extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6f336dd-c651-4172-a56b-68022346e125 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.166150s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.056368s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 1} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-667af0c7-40a8-4d60-bdad-5cfabcbf7977 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service [0.056498s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'service', 'service_steps': [{'interface': 'deploy', 'step': 'meow'}]} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-72d3174b-e5ca-49cd-aa80-20f43f0c84f9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.87 Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_without_node_or_node_uuid [0.175350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-26cff104-b9ad-4388-bd2f-187350853223 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} is not valid under any of the given schemas. Possible root cause: 'node_ident' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.122940s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?detail=True&node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1e4bd6bc-0253-4b5f-9a45-c97103b99f70 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:53.076409+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service_args_required [0.072112s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'service'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dde01edc-aae5-44b6-b26a-463fad372d83 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.87 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"service_steps\\\" is required when setting target provision state to service\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.172148s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service_with_runbooks [0.056940s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'service', 'runbook': 'CUSTOM_1'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f3730e27-f232-4c28-b182-bc8f1d51f41b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/jsonschema/validators.py:1104: DeprecationWarning: The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future. cls = validator_for(schema) {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.123728s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d257acd8-8b24-4ed1-ac4c-5d0286883ad1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_service_with_runbooks_unapproved [0.066922s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'service', 'runbook': 'CUSTOM_1'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-916aa237-08dd-4553-9782-31066214fb5a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This runbook has not been approved for use on this node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Please ask an administrator to add it to your node traits.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.048648s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 204 No Content Openstack-Request-Id: req-99f10281-1306-4ab1-b0e5-62f1c9d3a8ef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.075864s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?detail=True WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.046141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 204 No Content Openstack-Request-Id: req-65481f06-ed10-4fe2-b59c-d373616880c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.074758s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/detail WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4875edd2-0c29-4bf4-8e5e-224d358ce8e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for target_uuid: detail\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.237742s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.071068s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-40c23c3f-dd5a-4b7e-a02a-cda1f63958f7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.358587s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-4db00573-54eb-4c19-92ad-e33f1acd0364 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:53.383943+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.075696s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef4e717f-5211-47fd-91eb-47ddb1cca719 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.097671s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True WITH {'boot_device': 'pxe'} GOT Response: 204 No Content Openstack-Request-Id: req-80715483-0323-4b3c-8b65-1d81a5f77201 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.131362s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'name': None, 'description': None, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8ac01e30-b2fc-4b49-8c30-b2850754a998 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.182845s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.105719s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah WITH {'boot_device': 'pxe'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6fa2b8fc-1d79-4084-a7f6-973a5799a254 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid persistent: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.167201s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49e1bc7a-671d-4c72-a481-74066beddd54 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "84c7379b-9acc-4a16-81b7-c1c63a077347", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/84c7379b-9acc-4a16-81b7-c1c63a077347", "rel": "self"}, {"href": "http://localhost/volume/targets/84c7379b-9acc-4a16-81b7-c1c63a077347", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "dd1d5697-c9e0-4b99-8101-b2a433b00315", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/dd1d5697-c9e0-4b99-8101-b2a433b00315", "rel": "self"}, {"href": "http://localhost/volume/targets/dd1d5697-c9e0-4b99-8101-b2a433b00315", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "044b14e8-3ad6-4869-b241-cb5ee2a36be1", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/044b14e8-3ad6-4869-b241-cb5ee2a36be1", "rel": "self"}, {"href": "http://localhost/volume/targets/044b14e8-3ad6-4869-b241-cb5ee2a36be1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.109900s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.160789s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/?limit=3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d370d3a-82a5-46aa-9ca6-5284485413a7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "bb333e06-826e-41e6-9560-66f6ded05be6", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/bb333e06-826e-41e6-9560-66f6ded05be6", "rel": "self"}, {"href": "http://localhost/portgroups/bb333e06-826e-41e6-9560-66f6ded05be6", "rel": "bookmark"}]}, {"uuid": "cfaf1a21-4837-4817-a12f-6326bcb9bbf1", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/cfaf1a21-4837-4817-a12f-6326bcb9bbf1", "rel": "self"}, {"href": "http://localhost/portgroups/cfaf1a21-4837-4817-a12f-6326bcb9bbf1", "rel": "bookmark"}]}, {"uuid": "f71e2917-1cab-4ba9-b996-93bba92dc07d", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/f71e2917-1cab-4ba9-b996-93bba92dc07d", "rel": "self"}, {"href": "http://localhost/portgroups/f71e2917-1cab-4ba9-b996-93bba92dc07d", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=f71e2917-1cab-4ba9-b996-93bba92dc07d"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.114334s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/states/console WITH {'enabled': 'true'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states/console Openstack-Request-Id: req-b9acb063-a53b-44a1-833d-b98861dba379 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.112342s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-15f4c7e5-86de-4c76-b8c5-474cc1b97abf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "7051fb8f-69ce-40ad-b965-6d4244a929bd", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/7051fb8f-69ce-40ad-b965-6d4244a929bd", "rel": "self"}, {"href": "http://localhost/volume/targets/7051fb8f-69ce-40ad-b965-6d4244a929bd", "rel": "bookmark"}]}, {"uuid": "28306014-9303-4178-afab-19f8da904c99", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/28306014-9303-4178-afab-19f8da904c99", "rel": "self"}, {"href": "http://localhost/volume/targets/28306014-9303-4178-afab-19f8da904c99", "rel": "bookmark"}]}, {"uuid": "953d53ec-119b-47aa-ab90-51c7986ff5b2", "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/953d53ec-119b-47aa-ab90-51c7986ff5b2", "rel": "self"}, {"href": "http://localhost/volume/targets/953d53ec-119b-47aa-ab90-51c7986ff5b2", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_hexadecimal_lunid [0.110844s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.103404s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/states/console WITH {'enabled': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a6d51c41-d7e9-4159-92ab-8a735c760302 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.151929s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?fields=address,uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-79373a8e-52ce-4129-94dc-16c1c5843910 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "212bb438-e413-4909-9bac-78e33bcca17e", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/portgroups/212bb438-e413-4909-9bac-78e33bcca17e", "rel": "self"}, {"href": "http://localhost/portgroups/212bb438-e413-4909-9bac-78e33bcca17e", "rel": "bookmark"}]}, {"uuid": "d5b1efb6-aaab-4606-937f-4d1b6de1c38e", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/portgroups/d5b1efb6-aaab-4606-937f-4d1b6de1c38e", "rel": "self"}, {"href": "http://localhost/portgroups/d5b1efb6-aaab-4606-937f-4d1b6de1c38e", "rel": "bookmark"}]}, {"uuid": "977b689b-ea00-4045-9079-7f250cb3d5c0", "address": "52:54:00:cf:2d:32", "links": [{"href": "http://localhost/v1/portgroups/977b689b-ea00-4045-9079-7f250cb3d5c0", "rel": "self"}, {"href": "http://localhost/portgroups/977b689b-ea00-4045-9079-7f250cb3d5c0", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=977b689b-ea00-4045-9079-7f250cb3d5c0"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.121083s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?fields=boot_index&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd3771bb-e87d-45e9-b7f7-702c03f7efb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"boot_index": 0, "links": [{"href": "http://localhost/v1/volume/targets/2e3641ba-4a8e-4829-aafa-94a5d1f13776", "rel": "self"}, {"href": "http://localhost/volume/targets/2e3641ba-4a8e-4829-aafa-94a5d1f13776", "rel": "bookmark"}]}, {"boot_index": 1, "links": [{"href": "http://localhost/v1/volume/targets/7606f61a-a68e-464a-a8e0-08676d3d7f90", "rel": "self"}, {"href": "http://localhost/volume/targets/7606f61a-a68e-464a-a8e0-08676d3d7f90", "rel": "bookmark"}]}], "next": "http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=7606f61a-a68e-464a-a8e0-08676d3d7f90"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.101906s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.089991s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': 'invalid-value'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a7078d0-5336-4df7-8b12-da074305e77b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid enabled: Unrecognized value 'invalid-value', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.132938s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6547dc6-0588-4ce7-a8a1-ece5eb123476 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "4a8d83a3-0b90-4611-bd42-357c605e37b5", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/4a8d83a3-0b90-4611-bd42-357c605e37b5", "rel": "self"}, {"href": "http://localhost/portgroups/4a8d83a3-0b90-4611-bd42-357c605e37b5", "rel": "bookmark"}]}, {"uuid": "048252ea-21a3-4476-abd6-3b445ea93884", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/048252ea-21a3-4476-abd6-3b445ea93884", "rel": "self"}, {"href": "http://localhost/portgroups/048252ea-21a3-4476-abd6-3b445ea93884", "rel": "bookmark"}]}, {"uuid": "cd83fd86-e0ca-4495-a5f3-e47040b56e43", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/cd83fd86-e0ca-4495-a5f3-e47040b56e43", "rel": "self"}, {"href": "http://localhost/portgroups/cd83fd86-e0ca-4495-a5f3-e47040b56e43", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=cd83fd86-e0ca-4495-a5f3-e47040b56e43"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.103032s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a077f6b7-2ed3-4f20-b036-e49a5addb8c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.094209s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a7ad434d-d4e8-4465-95e4-6f7af40f2242 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: enabled\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.095451s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.095932s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ecae5c4c-4c25-4225-a86b-3c1b622998ee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:06:54.100223+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.124271s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-348b44d7-a966-418f-9b81-547b28beb743 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:54.113384+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildServicePXEConfigTestCase.test_build_service_pxe_config_adopt [0.095804s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.148578s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': 'true'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-734d15f8-f2dd-4492-9747-2b81feacb699 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.098220s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff33ad2a-1573-4cff-8a24-7336caf768b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"boot_index": 0, "extra": {}, "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildServicePXEConfigTestCase.test_build_service_pxe_config_servicing [0.090417s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.146064s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5a9d9440-8e1a-4167-ba24-f8a257eafe7e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.079781s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.064896s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.160365s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': 'false'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-279a496c-92ba-4590-a6ab-87b65e842cba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.072072s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.147392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail?node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c6fd6483-bd6c-4b19-a7f7-ea3b99f6d768 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:54.405816+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.155473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a195e471-28a1-47df-be56-65b6944334fe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "created_at": "2025-05-22T18:06:54.387207+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "rel": "self"}, {"href": "http://localhost/volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc890bf9-53d2-4194-8824-60d9141bbd15 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "created_at": "2025-05-22T18:06:54.387207+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "rel": "self"}, {"href": "http://localhost/volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f1b43a3b-e472-4873-80ff-a9e6556404ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "created_at": "2025-05-22T18:06:54.387207+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "rel": "self"}, {"href": "http://localhost/volume/targets/20acc7fc-6113-4cc7-be1a-9e7dd805cbdc", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.068706s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.162446s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': 'true'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-c7efe754-09ee-4d17-9134-454f1353def7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.071740s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.115993s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.143201s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-87caadb5-9920-47de-afa6-b0f5de0034b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "878d9f91-18f9-44d4-9824-806589965761", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/878d9f91-18f9-44d4-9824-806589965761", "rel": "self"}, {"href": "http://localhost/volume/targets/878d9f91-18f9-44d4-9824-806589965761", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "af6aa22a-271f-4cd8-977f-8c03a7a894a8", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/af6aa22a-271f-4cd8-977f-8c03a7a894a8", "rel": "self"}, {"href": "http://localhost/volume/targets/af6aa22a-271f-4cd8-977f-8c03a7a894a8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "9d2ad897-4ec1-4bed-964a-6a859ae2477d", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/9d2ad897-4ec1-4bed-964a-6a859ae2477d", "rel": "self"}, {"href": "http://localhost/volume/targets/9d2ad897-4ec1-4bed-964a-6a859ae2477d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "bc66c895-ef45-4d81-9fc4-24cd869c8ee9", "boot_index": 3, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/bc66c895-ef45-4d81-9fc4-24cd869c8ee9", "rel": "self"}, {"href": "http://localhost/volume/targets/bc66c895-ef45-4d81-9fc4-24cd869c8ee9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "4e890181-9bf7-4a1b-b7f6-f38f012a2542", "boot_index": 4, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/4e890181-9bf7-4a1b-b7f6-f38f012a2542", "rel": "self"}, {"href": "http://localhost/volume/targets/4e890181-9bf7-4a1b-b7f6-f38f012a2542", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.120780s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {'state': 'on'} GOT Response: 204 No Content Openstack-Request-Id: req-b4829bb9-7c64-4cb8-9df0-a2d6846eeb03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.110739s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?detail=True WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d2eb08fc-5203-4ede-913a-8e7c63b35efe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:54.647224+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.116639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20347843-6550-468e-a09b-c7f716f9a36d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.105700s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=glow WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7e40d4bb-c824-4ced-938c-dd904199355c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"error\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.113975s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c43f261a-f9ee-4f82-9aa8-1449565ffd04 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} GET /v1/portgroups?detail=False WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-73b666d0-91bf-43f7-983e-f331d846ea9c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.106084s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.100138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {'state': 'on'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d1c4093b-3e3a-4b11-94e8-7a16ed4778d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.116147s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail?sort_key=mode WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d3f84e19-f0c3-42ec-8b19-0ceada21daa7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "aeed8ca9-47ca-4fb5-a30b-9a306b003a37", "created_at": "2025-05-22T18:06:54.884955+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "mode_1", "name": "portgroup1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/aeed8ca9-47ca-4fb5-a30b-9a306b003a37", "rel": "self"}, {"href": "http://localhost/portgroups/aeed8ca9-47ca-4fb5-a30b-9a306b003a37", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/aeed8ca9-47ca-4fb5-a30b-9a306b003a37/ports", "rel": "self"}, {"href": "http://localhost/portgroups/aeed8ca9-47ca-4fb5-a30b-9a306b003a37/ports", "rel": "bookmark"}]}, {"uuid": "5b401626-dbda-4a95-84f8-6e268f730df8", "created_at": "2025-05-22T18:06:54.874816+00:00", "updated_at": null, "address": "52:54:00:cf:2d:32", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "mode_2", "name": "portgroup2", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/5b401626-dbda-4a95-84f8-6e268f730df8", "rel": "self"}, {"href": "http://localhost/portgroups/5b401626-dbda-4a95-84f8-6e268f730df8", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/5b401626-dbda-4a95-84f8-6e268f730df8/ports", "rel": "self"}, {"href": "http://localhost/portgroups/5b401626-dbda-4a95-84f8-6e268f730df8/ports", "rel": "bookmark"}]}, {"uuid": "0f911631-2426-40ec-bfcd-47207d57b2da", "created_at": "2025-05-22T18:06:54.859733+00:00", "updated_at": null, "address": "52:54:00:cf:2d:33", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "mode_3", "name": "portgroup3", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/0f911631-2426-40ec-bfcd-47207d57b2da", "rel": "self"}, {"href": "http://localhost/portgroups/0f911631-2426-40ec-bfcd-47207d57b2da", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/0f911631-2426-40ec-bfcd-47207d57b2da/ports", "rel": "self"}, {"href": "http://localhost/portgroups/0f911631-2426-40ec-bfcd-47207d57b2da/ports", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.382728s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.104319s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=on WITH {} GOT Response: 204 No Content Openstack-Request-Id: req-7fd58ae3-0f2d-4bc2-80b9-8d87599c0346 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.032577s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.075968s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail?sort_key=mode WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bd5f8bb8-5d39-4311-baf3-ee5cd3188a43 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.026654s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.147543s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f1cc56e6-06dd-45b2-bbf4-b0cfd37eaace X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "a9129929-21da-48bb-8c32-0b97f5847a0b", "boot_index": 2, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a9129929-21da-48bb-8c32-0b97f5847a0b", "rel": "self"}, {"href": "http://localhost/volume/targets/a9129929-21da-48bb-8c32-0b97f5847a0b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "d9c35a3f-74fe-4595-b8b2-785c43d4ad8a", "boot_index": 1, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/d9c35a3f-74fe-4595-b8b2-785c43d4ad8a", "rel": "self"}, {"href": "http://localhost/volume/targets/d9c35a3f-74fe-4595-b8b2-785c43d4ad8a", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}, {"uuid": "f86f8fbf-31bc-48f9-b2d2-9936284b0851", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/f86f8fbf-31bc-48f9-b2d2-9936284b0851", "rel": "self"}, {"href": "http://localhost/volume/targets/f86f8fbf-31bc-48f9-b2d2-9936284b0851", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.049336s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.085304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f7044638-7026-4576-893e-fafdcfdf9ba3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/volume/targets?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-734c8775-731b-4a17-b52d-27304517c30c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/volume/targets?sort_key=properties WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-afb31aa5-dba1-4295-bc34-1206521432f9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.128161s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system WITH {'state': 'on'} GOT Response: 204 No Content Openstack-Request-Id: req-08fe6b48-cf2f-4f11-b464-f8e923e41de4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.046612s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.117734s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?detail=True&fields=name WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7dece85-98b2-482e-8e27-34e939c7da77 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.043485s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.041663s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.091656s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH {'reason': 'fake_reason'} GOT Response: 202 Accepted Openstack-Request-Id: req-3147e13a-521d-4792-a5c6-6674d6b84a8a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.088217s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?detail=False&fields=internal_info WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4a79215c-77b2-4e75-92a9-0cfb5f672ea4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"internal_info": {"bar": "buzz"}, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.069933s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.081886s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?detail=True WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2501109e-3a7e-4a3f-9ff6-36347e5d2ca8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_001_values ... SKIPPED: These are fake reference values for YAML templating {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.099382s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/maintenance WITH {'reason': 'fake_reason'} GOT Response: 202 Accepted Openstack-Request-Id: req-a0fab501-c541-4a7f-912e-f204e6bec84a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.048449s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.082799s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d3f10c1b-c493-405a-a20e-d18acd3fd6e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": []} {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.051815s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.093667s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH {'reason': 'fake'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2668671b-67b9-49e9-9cb3-100cbebe4bec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.045225s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.044072s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_002_owner_admin_cannot_post_nodes [0.230498s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c25cb241-f9f6-4cbf-b22f-b3c285604f48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.136611s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH {} GOT Response: 202 Accepted Openstack-Request-Id: req-5b8018f9-40b1-431e-9849-415364e35750 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.072638s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.214549s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?node=test-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60f22f1f-5cda-4b4e-bba0-03352410a666 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "bfe3ee18-6b0a-4cf7-9998-fa496acc2375", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/bfe3ee18-6b0a-4cf7-9998-fa496acc2375", "rel": "self"}, {"href": "http://localhost/portgroups/bfe3ee18-6b0a-4cf7-9998-fa496acc2375", "rel": "bookmark"}]}, {"uuid": "e51a27e5-d7bc-4f03-833d-e86d68870cc2", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/e51a27e5-d7bc-4f03-833d-e86d68870cc2", "rel": "self"}, {"href": "http://localhost/portgroups/e51a27e5-d7bc-4f03-833d-e86d68870cc2", "rel": "bookmark"}]}, {"uuid": "f6c58632-aca5-4222-8bed-b92d10335797", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/f6c58632-aca5-4222-8bed-b92d10335797", "rel": "self"}, {"href": "http://localhost/portgroups/f6c58632-aca5-4222-8bed-b92d10335797", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.046019s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.051710s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.147117s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/maintenance WITH {} GOT Response: 202 Accepted Openstack-Request-Id: req-b7f81f12-a604-4268-a936-a16cf372dc1b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.138336s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ced6412f-15fd-49fe-a2e6-a8c0e65fb8e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:55.668780+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.060297s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.047179s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_003_owner_admin_can_post_nodes [0.259556s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4fe074e3-5720-474c-8d90-8c897995eaf9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_cleanhold [0.122749s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-7ffbf681-a849-4da7-bec0-337384afdbe2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.85 {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.147160s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f80c5713-9442-4c8c-b489-c3229a2547ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.062084s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.057275s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_cleanhold_not_allowed [0.123955s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b70ab498-a2e9-4a8a-965c-af8c10ae3d38 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.84 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.041131s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.121742s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?fields=uuid,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-376cf887-32c8-4fc2-8086-6b722c72e635 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "4f65d302-5725-4a4c-8954-5334640b1219", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/4f65d302-5725-4a4c-8954-5334640b1219", "rel": "self"}, {"href": "http://localhost/portgroups/4f65d302-5725-4a4c-8954-5334640b1219", "rel": "bookmark"}]}, {"uuid": "bb70455b-4163-4165-9c81-e585918fb36a", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/bb70455b-4163-4165-9c81-e585918fb36a", "rel": "self"}, {"href": "http://localhost/portgroups/bb70455b-4163-4165-9c81-e585918fb36a", "rel": "bookmark"}]}, {"uuid": "9d47d132-a615-4bcf-bc6b-714072d3a322", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/9d47d132-a615-4bcf-bc6b-714072d3a322", "rel": "self"}, {"href": "http://localhost/portgroups/9d47d132-a615-4bcf-bc6b-714072d3a322", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.044049s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.024318s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.029053s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_004_service_nodes_cannot_post_nodes [0.300287s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b28fec1b-a421-4188-b944-76bc98672831 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.021831s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.118981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?fields=address&limit=2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-900e8aa2-7129-4083-af4a-3c0cad727756 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/portgroups/51b039bc-f61d-4e7a-a30e-0548a2434917", "rel": "self"}, {"href": "http://localhost/portgroups/51b039bc-f61d-4e7a-a30e-0548a2434917", "rel": "bookmark"}]}, {"address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/portgroups/4f787b2b-af90-45e5-827c-2e7d246b7b8d", "rel": "self"}, {"href": "http://localhost/portgroups/4f787b2b-af90-45e5-827c-2e7d246b7b8d", "rel": "bookmark"}]}], "next": "http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=4f787b2b-af90-45e5-827c-2e7d246b7b8d"} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.042452s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.042540s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.087369s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/?fields=address,properties WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6e4d0437-585f-4b2a-8b7d-996f227c72d3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.078290s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.038871s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.114213s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2123ee9f-19e8-4d18-9e95-6d79cc1d4916 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.066349s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_005_service_nodes_can_post_nodes [0.331170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-59b0a760-23e5-4190-9bfc-02be0ae67981 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.058950s] ... ok {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.028012s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.179106s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-39f52b41-4f5f-4387-8d4e-fa70ff35b3d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:56.404043+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.032649s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test__append_operator_to_hints [0.030183s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_empty_value [0.029913s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_integer [0.031829s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values [0.029228s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_multiple_values_space [0.043907s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_006_owner_manager_cannot_post_nodes [0.253251s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9e78b08c-d150-4fd0-a3cb-604f92552167 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.187795s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eb6c4418-0a10-41ea-a0a4-61f768909a49 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_no_operator [0.037991s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_deployhold [0.810166s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a522963a-c2dc-4d1f-8cd0-b2244fc477d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.85 {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_extract_hint_operator_and_values_single_value [0.028858s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_empty_value [0.030568s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_in [0.027834s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.125546s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_no_space [0.046504s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_no_op_space [0.027997s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_deployhold_not_allowed [0.170910s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-50b95f74-8577-4769-a7df-a396cd34c400 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.84 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_op_no_space [0.044408s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_007_lessee_admin_cannot_post_nodes [0.247010s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-de2f4653-874c-4387-9504-34b21919ed9a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_op_space [0.031051s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.142931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4ea37dbb-5afb-43b3-8cb1-c5a09d4e20ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_normalize_hint_expression_or [0.031115s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_rotational [0.023341s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_convert_size [0.030325s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or [0.026186s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unhold_servicehold [0.166758s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unhold'} GOT Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4971b815-1c88-41b8-95c3-95adb442b153 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.86 {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_int_or_invalid [0.027079s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_by_path [0.025390s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_double_json_in_name [0.170272s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-02bef441-dde8-4322-9580-996379e22b47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:57.056789+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.json.json", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_hctl [0.021314s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_model [0.023322s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_name [0.028220s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_008_lessee_admin_can_post_nodes [0.275790s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6177cda0-1867-465b-a0ca-1f9ed2800850 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_rotational [0.020455s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.139986s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'unrescue'} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-29ca66ec-e384-4917-a569-da1d7ea7b587 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_serial [0.035391s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_size [0.025149s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.158369s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f8835fb0-7523-47cc-8e8b-695bd456e22d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:57.226082+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_vendor [0.020486s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.113993s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} GOT Response: 204 No Content Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 Openstack-Request-Id: req-b6881109-46a2-4c9d-8e04-ce6ae5da5b34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn [0.034772s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_vendor_extension [0.060117s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_invalid_wwn_with_extension [0.031061s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.147482s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e7226fbe-69d7-4574-ae8a-fcc36cc3c744 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:57.387242+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.json", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.118307s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5632975c-7211-4b15-8468-b098e71704fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_no_hints [0.042350s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_009_lessee_manager_cannot_post_nodes [0.256691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1e36700d-39fb-4fe1-8a19-6228621e6f18 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_non_existent_hint [0.026946s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_string_compare_operator_name [0.023221s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_not_found [0.121032s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bd6236b7-2e9d-4a0c-ad87-db7d7c680b1d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4.json could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_string_or_space [0.042621s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.109772s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a66d192f-dbb3-4de1-98d0-ba207e9a6902 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_with_operators [0.031446s] ... ok {0} ironic.tests.unit.common.test_utils.ParseRootDeviceTestCase.test_parse_root_device_hints_without_operators [0.051414s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.034776s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.129368s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72cb5bec-ba53-4701-9712-52c05205fe63 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"too many traits\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.167981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-761a6ede-fb16-45a4-b3e7-1bf40e99c6b1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:06:57.672883+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.037114s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.037791s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_010_lessee_manager_can_post_nodes [0.322689s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4949f1a9-62e4-4956-9228-66fb766d4a69 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.102058s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 WITH {} GOT Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.152249s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits/bad_trait WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94bc9932-b482-4055-b2f7-b2b312dc7f2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'bad_trait' is not valid under any of the given schemas. Possible root cause: 'bad_trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_011_third_party_admin_cannot_post_nodes [0.220469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-23abcdb6-ce37-4755-bd66-8a1a2fe92f36 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.201867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-430e9d82-a5fa-40a0-9da3-5ed0aeeae769 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_012_third_party_admin_can_post_nodes [0.251898s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-929fe76a-8106-46ef-a245-e6a1edddeff3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.558583s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.039453s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.028294s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.684786s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/833c7db0-8338-459c-89ef-69393162520b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cedeed28-daac-4f5d-a8ed-be8d77e00b5c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "833c7db0-8338-459c-89ef-69393162520b", "created_at": "2025-05-22T18:06:57.838143+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/833c7db0-8338-459c-89ef-69393162520b", "rel": "self"}, {"href": "http://localhost/portgroups/833c7db0-8338-459c-89ef-69393162520b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/833c7db0-8338-459c-89ef-69393162520b/ports", "rel": "self"}, {"href": "http://localhost/portgroups/833c7db0-8338-459c-89ef-69393162520b/ports", "rel": "bookmark"}]} GET /v1/portgroups/833c7db0-8338-459c-89ef-69393162520b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78cc1daa-c094-4e1a-a40d-15c5d8b22b41 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "833c7db0-8338-459c-89ef-69393162520b", "created_at": "2025-05-22T18:06:57.838143+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/833c7db0-8338-459c-89ef-69393162520b", "rel": "self"}, {"href": "http://localhost/portgroups/833c7db0-8338-459c-89ef-69393162520b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/833c7db0-8338-459c-89ef-69393162520b/ports", "rel": "self"}, {"href": "http://localhost/portgroups/833c7db0-8338-459c-89ef-69393162520b/ports", "rel": "bookmark"}]} GET /portgroups/833c7db0-8338-459c-89ef-69393162520b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3775b8f4-1021-4676-8a70-60c95e9f755b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "833c7db0-8338-459c-89ef-69393162520b", "created_at": "2025-05-22T18:06:57.838143+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/833c7db0-8338-459c-89ef-69393162520b", "rel": "self"}, {"href": "http://localhost/portgroups/833c7db0-8338-459c-89ef-69393162520b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/833c7db0-8338-459c-89ef-69393162520b/ports", "rel": "self"}, {"href": "http://localhost/portgroups/833c7db0-8338-459c-89ef-69393162520b/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.252468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/node-39/traits GOT Response: 204 No Content Openstack-Request-Id: req-9d78d1cd-9f3e-4d47-94d5-56726108614a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.046302s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient [0.038206s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_good [0.038890s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.119384s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7cab976d-90a0-4538-8d5b-28aa5774c6b7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.138655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42a536df-b5c3-4f15-bfde-6d1b327b5f9b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "19417a42-e8d2-46e2-a2cf-6db36b53c85f", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/19417a42-e8d2-46e2-a2cf-6db36b53c85f", "rel": "self"}, {"href": "http://localhost/portgroups/19417a42-e8d2-46e2-a2cf-6db36b53c85f", "rel": "bookmark"}]}, {"uuid": "364729fa-82b5-4455-b811-6ac334e30e31", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/364729fa-82b5-4455-b811-6ac334e30e31", "rel": "self"}, {"href": "http://localhost/portgroups/364729fa-82b5-4455-b811-6ac334e30e31", "rel": "bookmark"}]}, {"uuid": "3c548563-bbcf-4b5f-bfb8-190ed6483e49", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/3c548563-bbcf-4b5f-bfb8-190ed6483e49", "rel": "self"}, {"href": "http://localhost/portgroups/3c548563-bbcf-4b5f-bfb8-190ed6483e49", "rel": "bookmark"}]}, {"uuid": "b8c3bbd2-87d1-4db6-a0ca-3ebf2612583f", "address": "52:54:00:cf:2d:33", "name": "portgroup3", "links": [{"href": "http://localhost/v1/portgroups/b8c3bbd2-87d1-4db6-a0ca-3ebf2612583f", "rel": "self"}, {"href": "http://localhost/portgroups/b8c3bbd2-87d1-4db6-a0ca-3ebf2612583f", "rel": "bookmark"}]}, {"uuid": "1332e61e-f102-4df5-86c3-290bf51c60c9", "address": "52:54:00:cf:2d:34", "name": "portgroup4", "links": [{"href": "http://localhost/v1/portgroups/1332e61e-f102-4df5-86c3-290bf51c60c9", "rel": "self"}, {"href": "http://localhost/portgroups/1332e61e-f102-4df5-86c3-290bf51c60c9", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_recovers [0.024475s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficient_warning_only [0.062676s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.121405s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/node-39/traits GOT Response: 204 No Content Openstack-Request-Id: req-6ccf0c17-61bf-4811-b2a7-38ce9d1cdebd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.123882s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e236f412-6b04-4a14-a07d-39fa50b91767 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.061239s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.058651s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.090807s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 204 No Content Openstack-Request-Id: req-8eca7c1a-5bec-43fd-8333-4603556f4a41 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.121006s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?address=aa:bb:cc:dd:ee:f1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f6e656d-b9ef-4ff4-8188-0927d361c703 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "b37b42d4-5279-483f-8d65-22f2a1750e1f", "address": "aa:bb:cc:dd:ee:f1", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/b37b42d4-5279-483f-8d65-22f2a1750e1f", "rel": "self"}, {"href": "http://localhost/portgroups/b37b42d4-5279-483f-8d65-22f2a1750e1f", "rel": "bookmark"}]}]} {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.078828s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.089079s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1ceece83-4ba9-4279-b3b1-136eeb792eb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.081874s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?address=invalid-mac-format WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7fa2b66f-35b9-4457-930c-317ecada01fe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.UnlinkTestCase.test_unlink [0.070042s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.115497s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/node-39/traits/CUSTOM_1 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e03b306f-c6be-43b0-95fa-3585e2b2968b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.common.test_utils.UnlinkTestCase.test_unlink_ENOENT [0.086352s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.142646s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?address=aa:bb:cc:dd:ee:ff WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-94f1075c-f1a4-43d1-87a3-b6a08e702ddd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": []} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.133348s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/node-39/traits/CUSTOM_12 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6d914fd1-d881-435e-aa21-6a8734d1d81f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.089749s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_cannot_use_reserved [0.076953s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.172459s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4446687-7300-4f5e-86ad-f143d03c3836 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.130509s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fc5fcccc-d8ff-4069-8ce5-a1546c68e8b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_no_reserved [0.084115s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.063498s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.122581s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dfe74663-e226-4355-a719-b3cc53d32dd5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"traits": ["CUSTOM_1", "CUSTOM_2"]} {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_reserved [0.076147s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.116006s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7e0eba69-491f-41ef-b7bd-ba52cae1fe86 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.352930s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6d7e57d0-b938-44c9-8625-03210ba31d6a/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-44ffb172-bde4-4c03-940f-4a6ea88454eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "246cb7a1-2c58-49c4-855a-d418fef0bf82", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/246cb7a1-2c58-49c4-855a-d418fef0bf82", "rel": "self"}, {"href": "http://localhost/ports/246cb7a1-2c58-49c4-855a-d418fef0bf82", "rel": "bookmark"}]}, {"uuid": "74c5cde8-19b2-43d8-bb42-a15d567dfb7d", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/74c5cde8-19b2-43d8-bb42-a15d567dfb7d", "rel": "self"}, {"href": "http://localhost/ports/74c5cde8-19b2-43d8-bb42-a15d567dfb7d", "rel": "bookmark"}]}]} GET /v1/portgroups/6d7e57d0-b938-44c9-8625-03210ba31d6a/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51e523db-2c86-4edd-b919-8847cb5c4f25 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "246cb7a1-2c58-49c4-855a-d418fef0bf82", "created_at": "2025-05-22T18:06:59.332870+00:00", "updated_at": null, "address": "52:54:00:cf:2d:30", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/246cb7a1-2c58-49c4-855a-d418fef0bf82", "rel": "self"}, {"href": "http://localhost/ports/246cb7a1-2c58-49c4-855a-d418fef0bf82", "rel": "bookmark"}], "portgroup_uuid": "6d7e57d0-b938-44c9-8625-03210ba31d6a"}, {"uuid": "74c5cde8-19b2-43d8-bb42-a15d567dfb7d", "created_at": "2025-05-22T18:06:59.363856+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/74c5cde8-19b2-43d8-bb42-a15d567dfb7d", "rel": "self"}, {"href": "http://localhost/ports/74c5cde8-19b2-43d8-bb42-a15d567dfb7d", "rel": "bookmark"}], "portgroup_uuid": "6d7e57d0-b938-44c9-8625-03210ba31d6a"}]} GET /v1/portgroups/6d7e57d0-b938-44c9-8625-03210ba31d6a/ports?limit=1 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4bae1d0d-9f20-4a77-8ed6-215d96c68c86 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "246cb7a1-2c58-49c4-855a-d418fef0bf82", "address": "52:54:00:cf:2d:30", "links": [{"href": "http://localhost/v1/ports/246cb7a1-2c58-49c4-855a-d418fef0bf82", "rel": "self"}, {"href": "http://localhost/ports/246cb7a1-2c58-49c4-855a-d418fef0bf82", "rel": "bookmark"}]}], "next": "http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=246cb7a1-2c58-49c4-855a-d418fef0bf82"} GET /v1/portgroups/6d7e57d0-b938-44c9-8625-03210ba31d6a/ports/b3eb5cef-e122-4e9e-b2d7-06f056fbafec WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET /v1/portgroups/6d7e57d0-b938-44c9-8625-03210ba31d6a/ports/9d4ca29b-a192-4dd9-a383-4e4d04aecf39 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-675ecb0d-d32e-4174-a28d-2b670438d1c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debug info\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_013_owner_member_cannot_post_nodes [1.272656s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b347bce8-1377-4e67-9bdd-8036f44a0d62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.137375s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/badname/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-35e4c59a-c075-44e4-883b-8fe901aa229a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.207105s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.106342s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/24d70164-56c7-4fa4-87a9-a5b2686c71eb/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.116199s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits WITH {'trait': 'CUSTOM_3'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5bdb5bc4-7c3d-4ea8-82b7-fb1e0b917d92 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: Additional properties are not allowed ('trait' was unexpected)\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.077268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.064431s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c6b55c61-40bd-4921-a2bb-bbddd39667ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_014_owner_reader_cannot_post_reader [0.274340s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-194aa2d4-6905-4991-bd37-325984977283 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.202653s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.133995s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits/CUSTOM_3 WITH {'traits': ['CUSTOM_3']} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5834567d-32b4-4946-a189-7f98f1e69517 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.126094s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?sort_key=uuid WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f2abfb8-5b72-4fe0-88d9-37eb2294178e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "2e02eff8-7da8-451b-b0a7-fb6652b67cd3", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/2e02eff8-7da8-451b-b0a7-fb6652b67cd3", "rel": "self"}, {"href": "http://localhost/portgroups/2e02eff8-7da8-451b-b0a7-fb6652b67cd3", "rel": "bookmark"}]}, {"uuid": "9e7fb3eb-f8e6-41ce-8f18-871c3f576213", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/9e7fb3eb-f8e6-41ce-8f18-871c3f576213", "rel": "self"}, {"href": "http://localhost/portgroups/9e7fb3eb-f8e6-41ce-8f18-871c3f576213", "rel": "bookmark"}]}, {"uuid": "bf037d8d-f6e0-423d-b0a5-75feae688401", "address": "52:54:00:cf:2d:30", "name": "portgroup0", "links": [{"href": "http://localhost/v1/portgroups/bf037d8d-f6e0-423d-b0a5-75feae688401", "rel": "self"}, {"href": "http://localhost/portgroups/bf037d8d-f6e0-423d-b0a5-75feae688401", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.116776s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3']} GOT Response: 204 No Content Openstack-Request-Id: req-1356e71b-99ce-4a40-9e1b-6310f950b228 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.116435s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_015_owner_admin_can_get_node [0.210113s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef488540-b3a0-4bf1-8f1a-93841a5bb7dc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "abc6ab4a-f46a-430d-9488-70919c57b980", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.138412s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?sort_key=mode WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1003db4a-8e44-4c1a-88ac-9c354d09beda X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "79eb4b13-4c79-4196-b21e-c4400b8f7be4", "address": "52:54:00:cf:2d:31", "name": "portgroup1", "links": [{"href": "http://localhost/v1/portgroups/79eb4b13-4c79-4196-b21e-c4400b8f7be4", "rel": "self"}, {"href": "http://localhost/portgroups/79eb4b13-4c79-4196-b21e-c4400b8f7be4", "rel": "bookmark"}]}, {"uuid": "2ee0db72-a524-4a90-8f69-0e30b1ad77d6", "address": "52:54:00:cf:2d:32", "name": "portgroup2", "links": [{"href": "http://localhost/v1/portgroups/2ee0db72-a524-4a90-8f69-0e30b1ad77d6", "rel": "self"}, {"href": "http://localhost/portgroups/2ee0db72-a524-4a90-8f69-0e30b1ad77d6", "rel": "bookmark"}]}, {"uuid": "28d758aa-0d98-43a8-ba31-da93b332fd82", "address": "52:54:00:cf:2d:33", "name": "portgroup3", "links": [{"href": "http://localhost/v1/portgroups/28d758aa-0d98-43a8-ba31-da93b332fd82", "rel": "self"}, {"href": "http://localhost/portgroups/28d758aa-0d98-43a8-ba31-da93b332fd82", "rel": "bookmark"}]}]} {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.104570s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.151606s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits WITH {'traits': []} GOT Response: 204 No Content Openstack-Request-Id: req-93fd175c-8d5c-439c-884c-38f34b6f98ee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.109541s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?sort_key=foo WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-38661a88-3348-4e4a-9553-d6cfe38d8ae7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/portgroups?sort_key=extra WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6651fd26-4f52-4529-9020-81598a1786e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/portgroups?sort_key=internal_info WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-99b27dd9-754d-4410-98b9-351b31549f8d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET /v1/portgroups?sort_key=properties WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aba2a57d-6c57-46ca-a851-b4f9463c996f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.102326s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.087999s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': []} GOT Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_016_owner_manager_can_get_node [0.189990s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b0bcab8b-59f9-4eb0-9e50-fbeff6280ca1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "9596f639-ef2e-44a0-b339-161966844a88", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.083213s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups?sort_key=mode WITH {} GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-af2ddf6d-a04b-4ded-83b2-69fd85b19999 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.086256s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.118660s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d3d4dec5-9203-4e33-ae79-50a57c4c4955 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'BAD_TRAIT' is not valid under any of the given schemas. Possible root cause: 'BAD_TRAIT' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_bmc_address_as_none [0.128876s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': None, 'bmc_v6address': None, 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-7480f44b-c58a-47de-b4bf-7a473e505da1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e9d6ab73-a35b-4e52-a688-e42fad2136d5"} {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.119066s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.116465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-647ac93d-0f70-4bc8-90a9-f3975134feca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_017_owner_member_can_get_node [0.215965s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3bb050c4-8d25-45b0-8597-39d349fd5b30 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "e14f45a0-f41b-487e-bc06-c2e20ab826ea", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.075455s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_inspector_compatibility [0.108061s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-ab517f81-caa9-4eb0-9beb-eca07250f507 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "c40a0e99-0ea7-4da8-bae8-fe17d47d0976"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.110743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f9edc9cc-eb3a-4acb-ad31-49c774c4b388 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.130242s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_invalid_schema [0.124695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42'}, 'test': 42} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-afe6af2e-dffc-416f-bbac-a5536c59929c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for data: 'interfaces' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_018_owner_reader_can_get_node [0.215849s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4273927d-8547-4d05-9f43-a5f8b142aeb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "c0e43d4e-65d4-487f-9b82-a460d614f65d", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.150903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/node-39/traits WITH {'traits': ['CUSTOM_3']} GOT Response: 204 No Content Openstack-Request-Id: req-8c2c59cf-82ce-4bf0-a24b-69a496bc7083 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_new_api [0.140657s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-994bb579-4e7b-4dd9-8600-fc0130022ade X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "b2a490b8-457e-46f3-a85d-c035f7683e5e", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/b2a490b8-457e-46f3-a85d-c035f7683e5e", "rel": "self"}, {"href": "http://localhost/nodes/b2a490b8-457e-46f3-a85d-c035f7683e5e", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "noop", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": null, "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.141430s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/52:54:00:cf:2d:31 GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-17c253ee-fe50-45c0-a608-6e225d2b78a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_019_lessee_admin_can_get_node [0.181408s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5dac46d8-1a8d-47d7-b03e-018638fafd74 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "e620315d-df8c-4212-be8a-9431f5d736e1", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_no_usable_lookup_data [0.107611s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'interfaces': [{'mac_address': 'meow'}]}, 'test': 42} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a6aa376-7b7a-4f5c-b7f5-05c1439090ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No lookup information provided\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.291345s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestContinueInspectionScopedRBAC.test_old_api_version [0.101150s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/continue_inspection WITH {'inventory': {'bmc_address': '192.0.2.42', 'bmc_v6address': '2001:db8::42', 'interfaces': [{'mac_address': '11:22:33:44:55:66', 'name': 'em0'}, {'mac_address': '66:55:44:33:22:11', 'name': 'em1'}]}, 'test': 42} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-33fccb0b-fd0c-44fb-8176-c64b6e793c82 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.83 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"API version 1.84 or newer is required\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.149356s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content Openstack-Request-Id: req-eee6361b-f82d-4733-999e-7a663d184017 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.109389s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_status': 'invalid_state', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8d068c4-1c20-4e01-bd0b-e238118aeb3c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_020_lessee_manager_can_get_node [0.250503s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6db22249-c415-4f53-bbc1-70f616949959 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "db5e586f-7941-41a5-b98c-68090da62567", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.181865s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9e616de7-ad72-46fb-b3a8-c6507d2be737 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.100533s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url2'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ce366e39-25a9-4284-a3dd-d7648a0cc36d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.301395s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_file_url [0.099131s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'file:///path/to/the/wizzard'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b91b0106-45fb-4598-ab05-7bbf410e3775 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"An issue with the supplied \\\"callback_url\\\" has been detected.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.165564s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/053243c7-3ccd-48ed-9e76-daff7c68c5a6 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-db1c863e-044b-456b-9e76-9fb886197e34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.081033s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/6fe9890f-1da6-4b17-97e3-f4e94223e8d4 WITH {'callback_url': 'https://url'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b8e73cca-fe7b-47dd-811e-23108a31e158 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 6fe9890f-1da6-4b17-97e3-f4e94223e8d4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_021_lessee_member_can_get_node [0.284162s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6fe1e4ac-9f81-4f3a-9632-be01a03dadd7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "f57cb0d1-16fd-4c35-a6de-619131d100a8", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.123655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/52:54:00:cf:2d:31 GOT Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.135524s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'x'} GOT Response: 202 Accepted Openstack-Request-Id: req-2292c810-b0a7-4257-a10a-53f833b98e61 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.122166s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT Response: 202 Accepted Openstack-Request-Id: req-69aafecb-53a8-488c-baf9-a841bca911a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.142422s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 204 No Content Openstack-Request-Id: req-8dd92a0a-dcbe-4e84-892b-e5e60451bd84 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.408052s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_022_lessee_reader_can_get_node [0.260830s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8b2bc23a-a0c8-44c3-b827-55f70da32f8e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "0cd1d84d-b5ac-4a30-b98b-8884c21cb2cd", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.108258s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'http://url', 'agent_token': 'abcdef1'} GOT Response: 202 Accepted Openstack-Request-Id: req-77738ba5-488f-47be-9b6a-e959db795702 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.115093s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/pg.1 GOT Response: 204 No Content Openstack-Request-Id: req-b9334c74-2142-42c7-aad3-fa9d6dc7428f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.100370s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} GOT Response: 202 Accepted Openstack-Request-Id: req-d5fddf11-b593-4b3d-9ec9-c77121402d2b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.093779s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/blah GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0e9ab0cc-aeab-457b-ac2e-ecad42fb0503 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.088584s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_version': '1.4.1', 'agent_token': 'meow'} GOT Response: 202 Accepted Openstack-Request-Id: req-0ce7a126-20b8-4ba6-8542-e9bf7df2a1db X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.093602s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/pg.1.json GOT Response: 204 No Content Openstack-Request-Id: req-406ebcf9-d95f-4b4c-ab89-891c1e547c37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_023_third_party_admin_cannot_get_node [0.286581s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae412831-c2eb-49dd-be43-dd449aa55ddd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": []} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.094397s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/test.1 WITH {'callback_url': 'https://url', 'agent_token': 'token'} GOT Response: 202 Accepted Openstack-Request-Id: req-31649450-5b40-4445-ab0a-6bf140468bd9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.088673s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.426554s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_for_anaconda [0.106950s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': '', 'agent_token': 'x'} GOT Response: 202 Accepted Openstack-Request-Id: req-90145854-f071-418f-aa3c-ac276c35c0f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.135032s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f4c76dcb-6072-478c-8e25-7d42e0754728 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_024_owner_reader_can_get_their_node [0.226464s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f9fcfe3e-b820-4f88-8dda-babe632e0135 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2025-05-22T18:07:02.123034+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.099494s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json WITH {'callback_url': 'https://url', 'agent_token': 'maybe some magic'} GOT Response: 202 Accepted Openstack-Request-Id: req-19a2bd60-e2f2-4976-b9e3-bdb50bc8f3af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.214605s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.082600s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7f465ea2-7ba0-490f-aa20-16595ac3a61e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.125671s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff9fbd14-2f11-409b-8cfa-60db004427dc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:02.290325+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.067452s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_version': '1.4.1'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c0f6be0b-3b83-4e3d-8a71-d9a44cda33de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_025_owner_reader_cannot_get_other_node [0.214537s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/0d08f377-84b8-4dfd-9893-b174c7c8fa1d WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b74ef3ce-6279-43d1-ab8b-99f3574ab5d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 0d08f377-84b8-4dfd-9893-b174c7c8fa1d could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.115198s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e5c75686-b87a-4d0e-9476-225335675ce2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.159793s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.089181s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {'callback_url': 'https://url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-966633e7-2353-4117-a583-80a53c9c4ee6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.71 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.063489s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/heartbeat/335150d9-7fe5-4ff5-9d44-90dfe4f2caf6 WITH {'callback_url': 'https://url'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5344f22e-9c32-4082-826d-3fb8d2919a36 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.118237s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.159005s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6fdaec09-e7e5-43d0-a4c3-403e02b7d22e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "rel": "self"}, {"href": "http://localhost/nodes/5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-64421185-4d1e-474f-9383-6692285b9538 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "rel": "self"}, {"href": "http://localhost/nodes/5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2669d9f6-1f5a-4c3e-8ce4-8659b0e744e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "rel": "self"}, {"href": "http://localho st/nodes/5f7d8e1c-f1a9-4fe4-85fa-7dc4dab4e41f", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_026_lessee_reader_can_get_their_node [0.312492s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-551304c8-17ef-4365-8fe9-f3f1acd82bcd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2025-05-22T18:07:02.624857+00:00", "updated_at": "2025-05-22T18:07:02.662607+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "7f04ac5c-6f50-4ff0-a56b-3c5397d89f20", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "7f04ac5c-6f50-4ff0-a56b-3c5397d89f20", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.174575s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.120314s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5ebca5b-78f2-4c34-86ce-da27f36ee37f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "1b48ef0e-9a7b-4493-893b-8d713280f7ab", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/1b48ef0e-9a7b-4493-893b-8d713280f7ab", "rel": "self"}, {"href": "http://localhost/nodes/1b48ef0e-9a7b-4493-893b-8d713280f7ab", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "some-value", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.114657s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?node_uuid=c6da66ed-ff9f-4575-ab68-58007e938d1c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3a722f2d-3843-4802-b8f8-76d2e825a851 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "c6da66ed-ff9f-4575-ab68-58007e938d1c", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/c6da66ed-ff9f-4575-ab68-58007e938d1c", "rel": "self"}, {"href": "http://localhost/nodes/c6da66ed-ff9f-4575-ab68-58007e938d1c", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "xyzabc", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.529929s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aa046f67-6331-4b45-a687-bb9a2d620010 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:02.961331+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_027_lessee_reader_cant_get_other_node [0.264211s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/916b68d7-d625-480d-b105-c92b03a557c5 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b0a14a20-3b37-4a13-98c9-b497afd50868 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 916b68d7-d625-480d-b105-c92b03a557c5 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.089041s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=32e928c8-00ae-47a0-af13-a920d22f2d1d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8aa155d7-2b0a-447b-9742-b329a3407a48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "32e928c8-00ae-47a0-af13-a920d22f2d1d", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/32e928c8-00ae-47a0-af13-a920d22f2d1d", "rel": "self"}, {"href": "http://localhost/nodes/32e928c8-00ae-47a0-af13-a920d22f2d1d", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "this_thing_on?", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.124824s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-90afdf3f-fdc1-406f-8853-7b3018861324 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:03.081932+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.398265s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.132193s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=not-a-valid-address,80:00:02:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:54:06:c2,11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c962689e-02d2-45ba-a093-f715f6435cde X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "d3e03e9e-20bb-497d-8e01-31114c18642b", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/d3e03e9e-20bb-497d-8e01-31114c18642b", "rel": "self"}, {"href": "http://localhost/nodes/d3e03e9e-20bb-497d-8e01-31114c18642b", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "123456", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.121430s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-24a15a36-c48e-482b-b30a-9f324e22cd02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_invalid_input_addresses [0.094083s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=meow1 WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-908870a4-b110-430d-a092-6effedcfb8eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_028_third_party_admin_cant_get_node [0.272535s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/e2811975-c922-4cd8-8be5-ff7f35e904d1 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ae096b41-c261-4441-89de-71fbab590d63 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node e2811975-c922-4cd8-8be5-ff7f35e904d1 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.174713s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_invalid_input_node_uuid [0.098825s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?node_uuid=meow1 WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b42b2e12-3016-4a61-84e0-80a58eaeacd3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: meow1\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.149889s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7e6a0ac5-f2ea-4187-8275-129e47132b37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:03.328146+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.153366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=db9a6185-0b71-414a-a32e-08cd779e8e15 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-acceaae8-175e-4fd3-956f-b91fd75bc16d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "db9a6185-0b71-414a-a32e-08cd779e8e15", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "links": [{"href": "http://localhost/v1/nodes/db9a6185-0b71-414a-a32e-08cd779e8e15", "rel": "self"}, {"href": "http://localhost/nodes/db9a6185-0b71-414a-a32e-08cd779e8e15", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "234567890", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_029_owner_reader_can_get_restricted_fields [0.218431s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eafe6967-75e4-4e42-8aee-de422fafe369 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2025-05-22T18:07:03.416693+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.221119s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.176912s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/mode', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-36110bf9-fbe2-4d2b-ab2b-a65cd811e590 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'mode' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.106316s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6f958b08-9db4-4dba-9131-ebcb02838089 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_030_lessee_reader_cannot_get_restricted_fields [0.189010s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0689268-cc5c-4442-99ec-f38db763deb4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2025-05-22T18:07:03.659803+00:00", "updated_at": "2025-05-22T18:07:03.681502+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "40b09c55-1883-4f38-923a-1e9306b59a9b", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "40b09c55-1883-4f38-923a-1e9306b59a9b", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.126694s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-61af888c-53be-40cc-9338-3515032b99b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.229509s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo1', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cd3a6005-4195-483b-9da1-34624b1c9b43 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:03.693593+00:00", "updated_at": "2025-05-22T18:07:03.725324+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6853e5b4-1494-4ffb-845a-cf77b4ea71bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:03.693593+00:00", "updated_at": "2025-05-22T18:07:03.725324+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.273554s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.095730s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d5878211-ce4d-4bc4-b7ea-8ed61d19d84e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.078461s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=bdf93f5d-1863-4800-825c-8c865cb8a6f7 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-06541a1d-5e31-4639-91e3-79f7e6723e7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_031_owner_reader_can_get_detail [0.223183s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d333f26e-92e1-435d-9f1c-3b1812f1e4ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2025-05-22T18:07:03.835616+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2025-05-22T18:07:03.863032+00:00", "updated_at": "2025-05-22T18:07:03.882402+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "1b97b486-2bd0-4c44-b416-aa4037484490", "last_error": "meow", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_ interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "1b97b486-2bd0-4c44-b416-aa4037484490", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.035491s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.159689s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_id', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8d60118f-97f3-4381-9fca-60d347987c0a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.056188s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.079212s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_cleaning [0.322552s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.175697s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-009cf379-ca55-466c-8707-d3762670e591 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_032_lessee_reader_can_get_detail [0.213431s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-61aedb5a-eca9-4a22-b7db-1ad3df76ab81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2025-05-22T18:07:04.103455+00:00", "updated_at": "2025-05-22T18:07:04.130627+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "d12b92bb-a5be-404d-a8ec-851bf664c4c3", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "d12b92bb-a5be-404d-a8ec-851bf664c4c3", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.071910s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.095615s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.157103s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-362adee0-d5f6-4d22-ac8c-a1c67a571ead X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_033_third_party_admin_cannot_get_detail [0.184582s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3d351aac-2b40-4f02-a8a8-eb3a3a78e442 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": []} {0} ironic.tests.unit.conductor.test_manager.ConcurrentActionLimitTestCase.test_concurrent_action_limit_deploy [0.235170s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.172266s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2218adfe-9d17-4ce0-9a82-35cd65272456 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.224952s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_034_owner_admin_can_patch_node_extra [0.285447s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5dc504dd-cacd-4ceb-8871-3de0c6b25049 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.197685s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c7005fd9-b007-4451-87d6-a617db12f4bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:04.649399+00:00", "updated_at": "2025-05-22T18:07:04.671221+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_035_owner_manager_can_patch_node_extra [0.254695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b5fa2f77-56ac-4afc-861f-5f296eecb529 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.171422s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1cd8428d-5b6d-4489-ab39-af4444bdfd46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.312392s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.673018s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.081977s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.192765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-289eec42-5783-421b-9542-55789a86feb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:05.035636+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.081221s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.247277s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_036_owner_member_can_patch_node_extra [0.282585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4f3c440b-a878-4eb9-aff0-bb1d307135fa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.068466s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.170129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c377213-6776-4a20-b141-0fb480526d70 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.067548s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.077094s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_037_owner_reader_cannot_patch_node_extra [0.200172s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a08123c0-a80f-4a95-9175-412caa258426 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.227544s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.076944s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.194467s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-90a43b47-f514-4471-9194-1bbe2beb03f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:05.410901+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.066674s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.077891s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.191458s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.182297s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c5150eb6-1465-4fbf-b589-261b480fd4af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.076480s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_038_lessee_admin_can_patch_node_extra [0.283160s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1162acee-6e51-4414-b59e-da773b6e7388 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.091486s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.161796s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.121556s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/52:54:00:cf:2d:31 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.084550s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.074745s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.184177s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.181961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9995c836-3af0-41a6-b44b-3ab0f56a1d2a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:05.898861+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.074306s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_039_lessee_manager_can_patch_node_extra [0.375373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f712596b-ddb2-41fe-9dec-424511ce2f82 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.123216s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.082012s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.070389s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.076034s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.186293s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/pg.1 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e68bd986-13d1-4e77-8dc1-1da4509a0b2a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:06.211369+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.361018s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.081482s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.075549s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_040_lessee_member_can_patch_node_extra [0.382378s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bde42424-7116-4ef2-8bb8-1a50684b0e11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.201721s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/pg.1.json WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fc0c588f-f020-445b-bb34-db99341d1474 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.90 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:06.390351+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.070359s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.059352s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.292139s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.068215s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.189312s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e71249e5-a635-48f0-b1a3-62ca29b4a686 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:06.590855+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.070101s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_041_lessee_reader_cannot_patch_node_extra [0.274825s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ee8ac87a-6309-4984-98de-7a6a54ea232b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.146390s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.057293s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.130335s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a32c962c-e446-4ed1-b9a5-b0fe0336ca9a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update portgroup \\\"6eb02b44-18a3-4659-8c0b-8d2802581ae4\\\" on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.042688s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.059105s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.109181s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/pg.1 WITH [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75a37409-82e8-4f27-adee-316e191c052b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.207897s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.073214s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.082704s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/5c29d8d5-1cc5-42bc-a905-918d798ac554 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5e7bcab6-c77a-47a6-9533-78963bb13246 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5c29d8d5-1cc5-42bc-a905-918d798ac554 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_042_third_party_admin_cannot_patch_node_extra [0.235491s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-546a1729-dd38-4d25-b52c-ef782f7ced5a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.059319s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.042523s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.109126s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-556cca33-736e-42c9-a4ae-631da7e4d0ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:07.070667+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.061152s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.106066s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/internal_info', 'value': False, 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-536d8f04-815c-4121-8ca6-fa65da72387c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /internal_info. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.271288s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.095909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 204 No Content Openstack-Request-Id: req-4f4c81e7-b7ca-4abb-8f3a-47a2c6741dcf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_043_owner_admin_can_change_drivers [0.296087s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-40dbb330-58e9-4f18-b4ff-fb01bf544c25 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.113234s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b19b4ee8-d7f4-4b05-bb5c-84b37fd24e21 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:07.299403+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "802.3ad", "name": "pg.1", "properties": {"bond_param": "100"}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.091835s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.108283s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d6d87d9c-e2b2-401d-94e3-d18b31ed0798 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.139328s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/mode', 'op': 'add', 'value': '802.3ad'}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5cf762ee-7f35-442e-b4d8-7870ab14b294 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/properties/abc', 'op': 'add', 'value': 123}] GOT Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2cea7a68-834e-41dd-a092-5d7b806d7aa5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.267062s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_044_owner_manager_can_change_drivers [0.262179s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a968fd7d-f132-4e7e-8edf-0bce2705c820 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.126700s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b65c63c-51d9-41b0-a070-522760064186 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:07.559332+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": false, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.125653s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-fea6377a-a93f-48e0-824d-07322840d7ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.081572s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.200685s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9e72b32a-6476-4e70-8a90-1a11ced0fa23 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f928f697-34ec-4227-a0c4-57470569c6c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.124077s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=a1ca3096-7fdb-49b9-989a-aa0ab540f7d2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fce819c1-51b0-4da0-9384-fa31ced35db1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "rel": "self"}, {"href": "http://localhost/nodes/a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=a1ca3096-7fdb-49b9-989a-aa0ab540f7d2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a4d5ba36-0d3d-45aa-8ce3-a4de7aab5714 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "rel": "self"}, {"href": "http://localhost/nodes/a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=a1ca3096-7fdb-49b9-989a-aa0ab540f7d2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9f40ed1f-1fed-4fba-8d5b-230644e6c104 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "rel": "self"}, {"href": "http://localhost/nodes/a1ca3096-7fdb-49b9-989a-aa0ab540f7d2", "rel": "bookmark"}]}, "config": { "metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "abcxyz", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.110787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d642fa1a-c3c0-4247-8005-41b3bd37953c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "020b907d-29e4-4a52-a2f2-07903b706fb2", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/020b907d-29e4-4a52-a2f2-07903b706fb2", "rel": "self"}, {"href": "http://localhost/nodes/020b907d-29e4-4a52-a2f2-07903b706fb2", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "some-value", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_045_owner_member_can_patch_all_the_things [0.411516s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}, {'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}, {'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6d7ffb0e-9618-421b-b3c1-5368bd9f9011 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.175344s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-aa200bc6-3c52-453d-b55e-9af2b5419adb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:07.963669+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": 123}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bf3b5b1c-dbb8-4608-99af-1e9ee72c0b9e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:07.963669+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": 123}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.118185s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?node_uuid=f44dfded-a03a-4f8f-aad6-58b71cd841c8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0cdf9aa8-2c1c-4732-8a46-6039e9d8e209 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "f44dfded-a03a-4f8f-aad6-58b71cd841c8", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/f44dfded-a03a-4f8f-aad6-58b71cd841c8", "rel": "self"}, {"href": "http://localhost/nodes/f44dfded-a03a-4f8f-aad6-58b71cd841c8", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "xyzabc", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.558635s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.086279s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e0cb7537-46a7-4dc3-9b84-9f2c9ed5edda X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.128915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=3b6a95cf-a55f-40ac-9924-511ac0f49a25 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e9939bb8-1cdf-4277-b0dc-86bab722f407 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "3b6a95cf-a55f-40ac-9924-511ac0f49a25", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/3b6a95cf-a55f-40ac-9924-511ac0f49a25", "rel": "self"}, {"href": "http://localhost/nodes/3b6a95cf-a55f-40ac-9924-511ac0f49a25", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "this_thing_on?", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.117684s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.134537s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/68302037-d9a6-4b19-ba76-7af86a6e8f24 Openstack-Request-Id: req-30de3ef3-f953-4c80-b845-30f83847507d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "68302037-d9a6-4b19-ba76-7af86a6e8f24", "created_at": "2025-05-22T18:07:08.196234+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/68302037-d9a6-4b19-ba76-7af86a6e8f24", "rel": "self"}, {"href": "http://localhost/volume/connectors/68302037-d9a6-4b19-ba76-7af86a6e8f24", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/connectors/68302037-d9a6-4b19-ba76-7af86a6e8f24 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba3383c9-7373-4c7e-8773-8759e4c21cb9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "68302037-d9a6-4b19-ba76-7af86a6e8f24", "created_at": "2025-05-22T18:07:08.196234+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/68302037-d9a6-4b19-ba76-7af86a6e8f24", "rel": "self"}, {"href": "http://localhost/volume/connectors/68302037-d9a6-4b19-ba76-7af86a6e8f24", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.116009s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=not-a-valid-address,80:00:02:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:54:06:c2,11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-be72eef4-b70b-4a05-9900-50a797d0458f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "acb13149-8157-4f4c-8c29-ec4c85a05737", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/acb13149-8157-4f4c-8c29-ec4c85a05737", "rel": "self"}, {"href": "http://localhost/nodes/acb13149-8157-4f4c-8c29-ec4c85a05737", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "123456", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.090508s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.093743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_invalid_input_addresses [0.083473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=meow1 WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e9b415b-9235-4c67-b4e5-2c23724ea825 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.080631s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': 123} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50354649-9983-4a14-975f-691d6cf15dae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_invalid_input_node_uuid [0.085422s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?node_uuid=meow1 WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86796754-8607-49dc-9a1d-2ef9b1a4a66d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: meow1\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.176933s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.083606s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-71682df5-96d5-4e68-8b42-d6ac5384cf56 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.096435s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=46265e2c-efa1-400f-b216-bf64df3a3277 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-338a5c71-07b5-499a-ac70-8d914b2b0c5d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"node": {"uuid": "46265e2c-efa1-400f-b216-bf64df3a3277", "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver_internal_info": {"private_state": "secret value", "agent_secret_token": "******"}, "links": [{"href": "http://localhost/v1/nodes/46265e2c-efa1-400f-b216-bf64df3a3277", "rel": "self"}, {"href": "http://localhost/nodes/46265e2c-efa1-400f-b216-bf64df3a3277", "rel": "bookmark"}]}, "config": {"metrics": {"backend": "statsd", "prepend_host": false, "prepend_uuid": false, "prepend_host_reverse": true, "global_prefix": null}, "metrics_statsd": {"statsd_host": "localhost", "statsd_port": 8125}, "heartbeat_timeout": 300, "agent_containers": {"allow_arbitrary_containers": false, "allowed_containers": [], "container_steps_file": "/etc/ironic-python-agent.d/mysteps.yaml", "runner": "podman", "pull_options": "--tls-verify=false", "run_options": "--rm --network=host --tls-verify=false", "container_conf_file": "/etc/containers/containers.conf"}, "agent_token": "234567890", "agent_token_required": true, "agent_md5_checksum_enable": true, "disable_deep_image_inspection": false, "permitted_image_formats": ["raw", "gpt", "qcow2", "iso"]}} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.091007s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.084437s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-73ea78a5-ac81-4ee3-9cb9-67b360316d3c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.090423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e676a0c1-7c07-4ab9-8a1d-44a35e3b068e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.087398s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_046_owner_member_can_change_lessee [0.685249s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/lessee', 'value': '198566a5-a609-4463-9800-e8920be7c2fa'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9498b280-5628-485e-929d-ca6f5a203721 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.088706s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-08f3de21-80e1-4529-a4a5-0101c3949743 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.083299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f03719f8-3c17-494d-aab0-26c023502cfd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.108343s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.063550s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_047_lessee_admin_cannot_change_lessee [0.172074s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6ce803ea-f308-4227-a724-b56d5963ba27 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.119819s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-3059f72a-e97c-4792-be83-1557d1fb36e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:08.860814+00:00", "updated_at": null, "connector_id": "test-connector-id-456", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST /v1/volume/connectors WITH {'uuid': '94d65ac9-efb6-4f24-839a-a157909eebd3', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-03a723ae-461b-4c07-ad95-cdfe554d7e01 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.106040s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.131225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-4dd95e84-3cbc-4caf-92a5-a5ab4bf91216 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:08.978908+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-98ff92f2-48db-4984-b68b-b8939c7906d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:08.978908+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.093936s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_048_lessee_manager_cannot_change_lessee [0.199353s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-09826ae0-16df-4f2f-898c-b2a1b1103b2c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.059843s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.474967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-603680c1-424a-4c70-84e2-fd74b04ba6d3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.042490s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.156816s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-01fcde0a-0f95-41d6-ad28-82dc1aa5d57f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:09.186689+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.106481s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7759e8f9-0f03-4eda-bb49-6649a6ca7a79 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_049_lessee_admin_cannot_change_owner [0.256737s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cce38eeb-d9a7-4c2c-98ea-59e96c498916 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.084514s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e8223169-8fbe-4b13-b5d1-33c0670cf052 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aed2e9aa-a5b4-405f-a9f3-ec2917d9e1bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.182836s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.184415s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26d69889-4e76-4b5b-a1b5-c8f2531de8f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:09.295767+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.050508s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.029343s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.027590s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_add_multi [0.154499s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/78461784-c1ed-490a-82ea-e55d035b0ff9 WITH [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'order': 2}, 'op': 'add'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'order': 2}, 'op': 'add'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'order': 2}, 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-719576d9-5b50-4c67-8d08-a2ec7698b788 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "78461784-c1ed-490a-82ea-e55d035b0ff9", "created_at": "2025-05-22T18:07:09.391528+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/78461784-c1ed-490a-82ea-e55d035b0ff9", "rel": "self"}, {"href": "http://localhost/runbooks/78461784-c1ed-490a-82ea-e55d035b0ff9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "order": 2}, {"interface": "raid", "step": "create_configuration1", "args": {}, "order": 2}, {"interface": "raid", "step": "create_configuration2", "args": {}, "order": 2}, {"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.035331s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.146716s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2babe6c8-5191-446b-9cde-816540f90bb1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_add_root_non_existent [0.088683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/2daaa5b4-fd97-41fb-8bcf-770faaa63820 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94b3e8b5-a26a-4f36-840f-e2f3812fd3d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description, public, owner\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.072139s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_050_lessee_manager_cannot_change_owner [0.274316s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ee6d5f1a-a455-445b-923e-1ea950bf0757 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.133482s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b4149d77-4d9c-43cc-90ff-e543f3cc65fd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:09.647874+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.097389s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_add_too_high_index_step_fail [0.128869s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/9858a170-5b49-4cd7-ba1b-2a6bcdcce5ca WITH [{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'order': 1}}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3a4653b-5e38-4e1e-b2b1-9114bfe50ded X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'order': 1}}'. Reason: can't insert outside of list\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.045576s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-92c1d570-23d0-476a-8eff-80e75ca5d918 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.101897s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.084187s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'value': 100, 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-035ad196-fa85-41e2-8ca5-254997b9567c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:09.771080+00:00", "updated_at": null, "boot_index": 100, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_foo [0.130672s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/c131f580-cc10-414b-92d4-db6dcc7c6419 WITH [{'path': '/foo', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-177ae8ed-b64b-4f3d-9a11-381d2a8d0159 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description, public, owner\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.046694s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02a1448b-5005-4883-bd9e-de9218dbd1c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.053344s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-233129ad-ad3f-4652-8a41-fd32e7804042 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.133892s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.092332s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ee009608-7037-480d-9470-f3da8e358479 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:09.954607+00:00", "updated_at": "2025-05-22T18:07:09.958431+00:00", "boot_index": 0, "extra": {"foo2": "bar2", "foo3": "bar3"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b71a8e8a-5d39-4d72-8f59-7451028599f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:09.954607+00:00", "updated_at": "2025-05-22T18:07:09.958431+00:00", "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_051_owner_admin_can_change_lessee [0.414491s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d12029c0-e0bf-4605-a4fe-512cc772de2a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.116427s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_multi [0.235323s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/17598462-27db-452a-841d-c7143f80db1c WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef310317-d36a-45ea-8576-702a45ecd936 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "17598462-27db-452a-841d-c7143f80db1c", "created_at": "2025-05-22T18:07:09.965178+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/17598462-27db-452a-841d-c7143f80db1c", "rel": "self"}, {"href": "http://localhost/runbooks/17598462-27db-452a-841d-c7143f80db1c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "order": 2}, {"interface": "raid", "step": "create_configuration2", "args": {}, "order": 2}]} {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.090772s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.091653s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_name [0.164018s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/66ff98a5-fe91-4ef0-8630-37434e3c0c1d WITH [{'path': '/name', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-924722f4-5167-4265-a164-592e825c4981 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_052_owner_manager_can_change_lessee [0.256613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0d1d2f11-db7c-46d5-9e0b-e3dd13096403 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.097357s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_non_existent_property_fail [0.122509s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/37a78620-f297-431e-8ca6-3648e07a2e8a WITH [{'path': '/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-63762d70-713c-475b-8e42-163e6ccc5595 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /non-existent. Only the following can be updated: extra, name, steps, description, public, owner\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_053_owner_admin_cannot_change_owner [0.175026s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e75c002d-5824-4873-a3cb-031fad11e844 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.103053s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.454981s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c51874f-0bcc-49f3-ab46-5a97f1e02a10 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_non_existent_step_fail [0.117211s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/315c4f8b-e30b-4b16-951c-60167f5ca230 WITH [{'path': '/steps/1', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2ffe004-7f64-4963-976d-e7efcdd098cb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'remove'}'. Reason: can't remove non-existent object '1'\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.071718s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.079797s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4bf0bbb6-e291-4481-ba43-72dc6e50f9e9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.067803s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_non_existent_step_property_fail [0.096806s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/e681244e-7391-4b07-b246-eea0a4db4273 WITH [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dc348181-f4bf-44c0-a729-bae8352cb93d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/0/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.097177s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f44497b0-d2f9-4b88-8bd2-00832cf13c38 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.049225s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.072893s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_054_owner_manager_cannot_change_owner [0.277077s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-762fbd93-6605-494a-b9b0-f6c6b5e843dc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.114322s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-847cab8f-adfc-4e80-9ea4-c33055045855 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_only_step_fail [0.137910s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/5f0908f9-383e-4269-8ee0-5868bbb2bf59 WITH [{'path': '/steps/0', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-efb7df85-1217-4754-8c70-a6bc9b9266d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.052055s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.112097s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'value': 0, 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0a77bc4-0481-41ef-8596-5e13fd255605 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_steps [0.106462s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/0af477c4-9179-4d33-aac4-862171aaa2f0 WITH [{'path': '/steps', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d8192fa9-ab06-4913-8d8a-4bc27fd4c992 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_remove_uuid [0.077692s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/872cb155-6c08-483e-89f0-5802a10a6e14 WITH [{'path': '/uuid', 'op': 'remove'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f50cce29-0720-4882-ba29-a1e5301fbb6f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: extra, name, steps, description, public, owner\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.133863s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-74e03bea-da85-483e-84e4-bba2f73cbb30 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:10.937404+00:00", "updated_at": "2025-05-22T18:07:10.949921+00:00", "boot_index": 0, "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.227445s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_055_lessee_member_can_set_protected [0.268459s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/protected', 'value': True}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ead47594-65ae-43ed-ab9e-eb0c0d852534 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_duplicate_step [0.119931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/7883a810-e274-498c-83d8-2ce2d1f24124 WITH [{'path': '/steps', 'op': 'replace', 'value': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'order': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'order': 1}]}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8f84b37f-96b7-4492-89ed-9d9dee470bd6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.155022s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_id', 'value': '1', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6095496d-fe49-4e41-9def-ddb94cae5a91 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_empty_step_list_fail [0.106321s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/6d1a5ad8-df92-4194-a18d-48b66d0b372c WITH [{'path': '/steps', 'op': 'replace', 'value': []}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-41c2de5b-382f-4db4-90e3-030de9769a0a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_056_lessee_member_cannot_patch_instance_info [0.180175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-66aba20c-63a6-4c33-9ee4-547e33958657 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_invalid_name_none [0.105827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/c2fdcfe8-c862-4632-a2c8-144f63b93bcf WITH [{'path': '/name', 'op': 'replace', 'value': None}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9129ead6-267d-47ea-b7aa-68d78d1da4ba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string'\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.312849s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.175358s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fffc87fd-5d09-4f53-bbfd-503fc611e395 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:11.258986+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_057_lessee_member_cannot_patch_driver_info [0.167150s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ff2f65d4-2934-43c2-b75a-ca73ae150eaa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_invalid_name_too_long [0.082295s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/4f3d9f1b-8d14-484f-a56b-bb33bafddbfb WITH [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-761dac20-b266-4cff-8e38-cb01d171bedd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_invalid_step_interface_fail [0.042255s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/60efad1c-a693-44b1-be5b-46105011c052 WITH [{'path': '/steps/0', 'op': 'replace', 'value': {'interface': 'foo', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'order': 1}}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-52c3176e-288a-4279-bf8e-fbabb7aa85fd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.108703s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9c9f1c97-9cfe-40bd-b6f5-a6d90a4c7381 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_multi [0.074043s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/1ffc40d2-62eb-429a-9357-6f7cf3af3356 WITH [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'order': 3}, 'op': 'replace'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'order': 3}, 'op': 'replace'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'order': 3}, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5fbb7cab-fbb4-467d-9b5a-e759515a1a4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1ffc40d2-62eb-429a-9357-6f7cf3af3356", "created_at": "2025-05-22T18:07:11.469360+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/1ffc40d2-62eb-429a-9357-6f7cf3af3356", "rel": "self"}, {"href": "http://localhost/runbooks/1ffc40d2-62eb-429a-9357-6f7cf3af3356", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "order": 3}, {"interface": "raid", "step": "create_configuration1", "args": {}, "order": 3}, {"interface": "raid", "step": "create_configuration2", "args": {}, "order": 3}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_058_lessee_member_cannot_patch_properties [0.184901s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bb11ea4a-208b-43e4-ab87-74e4930e1566 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.290979s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.167262s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef48bf8f-236f-4120-b840-30b88979501b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_name_already_exist [0.112257s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/da567114-2fae-4581-a135-c14b53376d27 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-30733e67-4d06-4467-a331-5d5d84d43a66 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A runbook with UUID da567114-2fae-4581-a135-c14b53376d27 already exists.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_non_existent_step_fail [0.084542s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/42b71083-d231-41e4-88f5-3efaa83dc602 WITH [{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'order': 1}}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96e92210-f8e2-4ffe-8878-cc357db34150 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'order': 1}}'. Reason: list assignment index out of range\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.099449s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd08fff4-801e-4fd4-a2af-eeea3241fd93 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:11.698818+00:00", "updated_at": null, "boot_index": 100, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.071476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5237dc57-00ca-4df9-a39e-67c274740a1d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:11.765951+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo": "bar"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_059_lessee_member_cannot_patch_network_data [0.228039s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e4a3e497-4767-4f5a-a2dd-8292644e7573 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_replace_step_invalid_interface [0.146721s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/a12d7240-ee64-4e39-93a9-6476d7ebda2a WITH [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-35e48092-a7d6-4c31-be44-a42055517159 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.076696s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.081089s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/f6ea4b75-0fe8-4ce8-8d61-d942bfe1b994 WITH [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-56684e1f-50f1-4ab2-a17f-f1254f4e3606 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target f6ea4b75-0fe8-4ce8-8d61-d942bfe1b994 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.347013s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_060_lessee_member_cannot_patch_name [0.215146s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-40af684a-9ddc-4692-bc18-40a30b5f03ca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.079882s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f0055f21-7ee9-4415-bcd0-3f3fe11db76d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7d5a1755-d7e2-4a00-a882-bbe6855e6bb3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_runbook_set_owner_public_system_scope [0.215598s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': 'b9575377-b6dc-47cb-8551-2dd490af6c2f', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': True, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/b9575377-b6dc-47cb-8551-2dd490af6c2f Openstack-Request-Id: req-4fc4cf02-efac-4a28-b64c-027f2a4f8328 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "b9575377-b6dc-47cb-8551-2dd490af6c2f", "created_at": "2025-05-22T18:07:11.997468+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/b9575377-b6dc-47cb-8551-2dd490af6c2f", "rel": "self"}, {"href": "http://localhost/runbooks/b9575377-b6dc-47cb-8551-2dd490af6c2f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} PATCH /v1/runbooks/b9575377-b6dc-47cb-8551-2dd490af6c2f WITH [{'path': '/owner', 'value': 'projectX', 'op': 'replace'}, {'path': '/public', 'value': False, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e2709ae1-8b0d-4ef5-85f4-c2afbc1a5722 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "b9575377-b6dc-47cb-8551-2dd490af6c2f", "created_at": "2025-05-22T18:07:11.997468+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/b9575377-b6dc-47cb-8551-2dd490af6c2f", "rel": "self"}, {"href": "http://localhost/runbooks/b9575377-b6dc-47cb-8551-2dd490af6c2f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.088059s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-475b9e0e-d4e2-4ef1-a0d1-2e15bc1e958f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:12.081787+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo": 123}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2f06623-6c27-47a1-bc0d-b6faafc8ad34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:12.081787+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo": 123}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.217788s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_runbook_set_owner_public_system_scope_fails [0.125699s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': 'e7ff43ab-5c8a-49a2-8f13-1dadd23a4a7f', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': True, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/e7ff43ab-5c8a-49a2-8f13-1dadd23a4a7f Openstack-Request-Id: req-08e4b632-ae74-47a7-85ff-4fe31c96bf16 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e7ff43ab-5c8a-49a2-8f13-1dadd23a4a7f", "created_at": "2025-05-22T18:07:12.183773+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/e7ff43ab-5c8a-49a2-8f13-1dadd23a4a7f", "rel": "self"}, {"href": "http://localhost/runbooks/e7ff43ab-5c8a-49a2-8f13-1dadd23a4a7f", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} PATCH /v1/runbooks/e7ff43ab-5c8a-49a2-8f13-1dadd23a4a7f WITH [{'path': '/owner', 'value': 'projectX', 'op': 'replace'}, {'path': '/public', 'value': True, 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6848682f-033c-4f02-831e-27e2a620cb03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/owner', 'value': 'projectX', 'op': 'replace'}, {'path': '/public', 'value': True, 'op': 'replace'}]'. Reason: There cannot be an owner for a public runbook\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.110971s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c081dffa-09f6-4792-89ab-a220b3eb5f27 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_061_lessee_member_cannot_patch_retired [0.238551s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ef636ef1-65f3-40b0-8ea8-6c12b9e090a7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_new_owner_for_project_owned_runbook [0.150535s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': '65c4c2a8-7575-40f3-a831-8994d7e65ae6', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/65c4c2a8-7575-40f3-a831-8994d7e65ae6 Openstack-Request-Id: req-96dfe266-bdd9-4fd1-861f-aab18693c6b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "65c4c2a8-7575-40f3-a831-8994d7e65ae6", "created_at": "2025-05-22T18:07:12.312359+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/65c4c2a8-7575-40f3-a831-8994d7e65ae6", "rel": "self"}, {"href": "http://localhost/runbooks/65c4c2a8-7575-40f3-a831-8994d7e65ae6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} PATCH /v1/runbooks/65c4c2a8-7575-40f3-a831-8994d7e65ae6 WITH [{'path': '/owner', 'value': 'projectY', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d25d675f-8f37-42b6-ab45-1d666911056c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "65c4c2a8-7575-40f3-a831-8994d7e65ae6", "created_at": "2025-05-22T18:07:12.312359+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectY", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/65c4c2a8-7575-40f3-a831-8994d7e65ae6", "rel": "self"}, {"href": "http://localhost/runbooks/65c4c2a8-7575-40f3-a831-8994d7e65ae6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.141280s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/fa7939a8-1cf7-4215-81b8-8dade972e333 Openstack-Request-Id: req-588105cc-5026-4c3e-ab56-bf2621a0008e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fa7939a8-1cf7-4215-81b8-8dade972e333", "created_at": "2025-05-22T18:07:12.322253+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/fa7939a8-1cf7-4215-81b8-8dade972e333", "rel": "self"}, {"href": "http://localhost/volume/targets/fa7939a8-1cf7-4215-81b8-8dade972e333", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/targets/fa7939a8-1cf7-4215-81b8-8dade972e333 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fcec76f3-3ea9-4454-b601-a58bf71c8b55 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fa7939a8-1cf7-4215-81b8-8dade972e333", "created_at": "2025-05-22T18:07:12.322253+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/fa7939a8-1cf7-4215-81b8-8dade972e333", "rel": "self"}, {"href": "http://localhost/volume/targets/fa7939a8-1cf7-4215-81b8-8dade972e333", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.086752s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_062_owner_admin_can_patch_node_instance_info [0.263198s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3aa9d5ae-a978-43a9-be09-2f24675a802d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.086502s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': 123} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-22b6d9fe-6c38-48ca-adf8-5b6b3fff4fe9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_owner_system_scope [0.194821s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': '25a7709b-0025-4ae4-9c8b-628df107e1c1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/25a7709b-0025-4ae4-9c8b-628df107e1c1 Openstack-Request-Id: req-654568eb-9a12-449f-ae2a-c5e7bd4eeb6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "25a7709b-0025-4ae4-9c8b-628df107e1c1", "created_at": "2025-05-22T18:07:12.507849+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/25a7709b-0025-4ae4-9c8b-628df107e1c1", "rel": "self"}, {"href": "http://localhost/runbooks/25a7709b-0025-4ae4-9c8b-628df107e1c1", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} PATCH /v1/runbooks/25a7709b-0025-4ae4-9c8b-628df107e1c1 WITH [{'path': '/owner', 'value': 'projectX', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2891a2a6-2f98-4bb7-900f-ec55c083d8f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "25a7709b-0025-4ae4-9c8b-628df107e1c1", "created_at": "2025-05-22T18:07:12.507849+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/25a7709b-0025-4ae4-9c8b-628df107e1c1", "rel": "self"}, {"href": "http://localhost/runbooks/25a7709b-0025-4ae4-9c8b-628df107e1c1", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.094054s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0db573d4-9b31-49d1-9aac-5b95b6e81d86 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_owner_system_scope_fails_if_public [0.140861s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': '6f5b07ac-bd33-4658-8430-96cd8b9977cf', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': True, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/6f5b07ac-bd33-4658-8430-96cd8b9977cf Openstack-Request-Id: req-c04153d9-75ce-47a0-a647-01d1c2c0d814 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6f5b07ac-bd33-4658-8430-96cd8b9977cf", "created_at": "2025-05-22T18:07:12.684578+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/6f5b07ac-bd33-4658-8430-96cd8b9977cf", "rel": "self"}, {"href": "http://localhost/runbooks/6f5b07ac-bd33-4658-8430-96cd8b9977cf", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} PATCH /v1/runbooks/6f5b07ac-bd33-4658-8430-96cd8b9977cf WITH [{'path': '/owner', 'value': 'projectX', 'op': 'replace'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e37600d9-e21e-4bb1-a129-e6df1c70f51b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '[{'path': '/owner', 'value': 'projectX', 'op': 'replace'}]'. Reason: There cannot be an owner for a public runbook\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.100158s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3729d38f-dd63-401e-b948-55f582b6e927 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_063_owner_manager_can_patch_node_instance_info [0.263159s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ff41d909-03f5-4445-bda3-73d9c2287f8d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.077561s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c935a824-584d-46ca-922f-a3bc711e4d5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.640326s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_project_owned_runbook_public [0.160638s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE1', 'uuid': '70fcc47b-8021-4d87-a3c6-66a0577be24a', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/70fcc47b-8021-4d87-a3c6-66a0577be24a Openstack-Request-Id: req-3847bff5-782c-4a2d-9a7c-014dfc423d6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "70fcc47b-8021-4d87-a3c6-66a0577be24a", "created_at": "2025-05-22T18:07:12.820554+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/70fcc47b-8021-4d87-a3c6-66a0577be24a", "rel": "self"}, {"href": "http://localhost/runbooks/70fcc47b-8021-4d87-a3c6-66a0577be24a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} PATCH /v1/runbooks/70fcc47b-8021-4d87-a3c6-66a0577be24a WITH [{'path': '/public', 'value': True, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e37e24a0-2870-4b62-8797-431a92d5ecab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "70fcc47b-8021-4d87-a3c6-66a0577be24a", "created_at": "2025-05-22T18:07:12.820554+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/70fcc47b-8021-4d87-a3c6-66a0577be24a", "rel": "self"}, {"href": "http://localhost/runbooks/70fcc47b-8021-4d87-a3c6-66a0577be24a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.093744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1955ba45-57a9-4db6-b267-c784726e0d60 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_set_public_system_scope [0.078978s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/ff983e71-59a7-447a-aad5-703ca79d7f15 WITH [{'path': '/public', 'value': True, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da01b026-c012-4b3f-a1c9-5d591ae7e220 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ff983e71-59a7-447a-aad5-703ca79d7f15", "created_at": "2025-05-22T18:07:12.926010+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/ff983e71-59a7-447a-aad5-703ca79d7f15", "rel": "self"}, {"href": "http://localhost/runbooks/ff983e71-59a7-447a-aad5-703ca79d7f15", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.172123s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_unset_public_system_scope [0.111939s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_UNIQUE2', 'uuid': '7a613bfc-949b-4ff5-9234-b2663bc89c45', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': True, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/7a613bfc-949b-4ff5-9234-b2663bc89c45 Openstack-Request-Id: req-ff6c0962-55a5-4463-af88-34140731bd37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7a613bfc-949b-4ff5-9234-b2663bc89c45", "created_at": "2025-05-22T18:07:13.010099+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE2", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/7a613bfc-949b-4ff5-9234-b2663bc89c45", "rel": "self"}, {"href": "http://localhost/runbooks/7a613bfc-949b-4ff5-9234-b2663bc89c45", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} PATCH /v1/runbooks/7a613bfc-949b-4ff5-9234-b2663bc89c45 WITH [{'path': '/public', 'value': False, 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-63be0234-8caa-4e13-b1de-64c1d22ea0ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7a613bfc-949b-4ff5-9234-b2663bc89c45", "created_at": "2025-05-22T18:07:13.010099+00:00", "updated_at": null, "name": "CUSTOM_UNIQUE2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/7a613bfc-949b-4ff5-9234-b2663bc89c45", "rel": "self"}, {"href": "http://localhost/runbooks/7a613bfc-949b-4ff5-9234-b2663bc89c45", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.070261s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.204619s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-95b1e515-9312-4160-ac8f-a81588475c4e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:13.092581+00:00", "updated_at": null, "boot_index": 0, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-73f73e7b-c3db-42a8-8725-7e5169efab00 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:13.092581+00:00", "updated_at": null, "boot_index": 0, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_064_owner_member_can_patch_node_instance_info [0.339330s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-01b94fb2-3910-4449-bb32-65f271792131 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_by_id [0.120940s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/0ce27eaf-95fb-432c-8d70-f653568cd394 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-48a4d1b7-7f54-4e8b-9a6d-e4b777d78fb5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "0ce27eaf-95fb-432c-8d70-f653568cd394", "created_at": "2025-05-22T18:07:13.136907+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/0ce27eaf-95fb-432c-8d70-f653568cd394", "rel": "self"}, {"href": "http://localhost/runbooks/0ce27eaf-95fb-432c-8d70-f653568cd394", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_by_id_invalid_api_version [0.057395s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/13f50f69-41ad-4116-9ec9-ca65cb842acb WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow runbooks\"}"} {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.184153s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.151438s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-955ca69d-57ac-4ef6-a316-65aecce72e1e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:13.282619+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_by_name [0.069620s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/CUSTOM_DT1 WITH [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'order': 1}], 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97f0d723-5384-4fa2-be88-0f7b220c7800 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "f8326fd6-44bc-4e78-8054-f6fcade46a4f", "created_at": "2025-05-22T18:07:13.284330+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/f8326fd6-44bc-4e78-8054-f6fcade46a4f", "rel": "self"}, {"href": "http://localhost/runbooks/f8326fd6-44bc-4e78-8054-f6fcade46a4f", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "order": 1}]} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_by_name_old_api_version [0.068638s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/CUSTOM_DT1 WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow runbooks\"}"} {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.078475s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_065_owner_reader_can_patch_node_instance_info [0.283167s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f9024fb9-3ac8-428c-8dcc-4bed23ae4081 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_name_standard_trait [0.091267s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/a492e4b8-df05-47d5-991d-a37300fc7972 WITH [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0ea19fe-4751-4244-910c-dc752d821b2a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a492e4b8-df05-47d5-991d-a37300fc7972", "created_at": "2025-05-22T18:07:13.433811+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/a492e4b8-df05-47d5-991d-a37300fc7972", "rel": "self"}, {"href": "http://localhost/runbooks/a492e4b8-df05-47d5-991d-a37300fc7972", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.092335s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_not_found [0.040469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/d6adb8b5-6186-4ced-b0d3-1f5b8684280e WITH [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-92d0ac39-743f-4c6e-a2e7-b2994f4dd69e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Runbook d6adb8b5-6186-4ced-b0d3-1f5b8684280e could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.232241s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.078090s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_project_scope [0.057258s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/8bc817b9-3244-4a00-bc3e-3eeb629d20a9 WITH [{'path': '/name', 'value': 'CUSTOM_NAME', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b4c3a35e-797c-445c-9130-acc60c8750b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8bc817b9-3244-4a00-bc3e-3eeb629d20a9", "created_at": "2025-05-22T18:07:13.552670+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/8bc817b9-3244-4a00-bc3e-3eeb629d20a9", "rel": "self"}, {"href": "http://localhost/runbooks/8bc817b9-3244-4a00-bc3e-3eeb629d20a9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPatch.test_update_system_scope [0.062383s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/ab3369b4-b9bc-40be-9eba-5ab08b834bb1 WITH [{'path': '/name', 'value': 'CUSTOM_NAME', 'op': 'replace'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b19afd10-b1de-464b-84a3-fe8f579eac5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ab3369b4-b9bc-40be-9eba-5ab08b834bb1", "created_at": "2025-05-22T18:07:13.622955+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/ab3369b4-b9bc-40be-9eba-5ab08b834bb1", "rel": "self"}, {"href": "http://localhost/runbooks/ab3369b4-b9bc-40be-9eba-5ab08b834bb1", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.080335s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/things/ouch WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-812b7884-fe11-433e-935f-3e39d3be7529 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create [0.061326s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe Openstack-Request-Id: req-bf3b2403-24b9-411a-adb8-24ab0dc1bfa7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe", "rel": "self"}, {"href": "http://localhost/runbooks/2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} GET /v1/runbooks/2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea9c758b-fa76-4a8f-845a-b592a97fc3f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe", "rel": "self"}, {"href": "http://localhost/runbooks/2d0b1f0f-f5fb-4958-a46a-2114ce9c0bfe", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.164141s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_complex_step_args [0.042789s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '63675ead-b1ca-4764-a6a7-49b00e73b40b', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/63675ead-b1ca-4764-a6a7-49b00e73b40b Openstack-Request-Id: req-78ba2060-2699-4e33-9cc5-ae5849a0e303 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "63675ead-b1ca-4764-a6a7-49b00e73b40b", "created_at": "2025-05-22T18:07:13.748247+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/63675ead-b1ca-4764-a6a7-49b00e73b40b", "rel": "self"}, {"href": "http://localhost/runbooks/63675ead-b1ca-4764-a6a7-49b00e73b40b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "order": 1}]} {1} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.092304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/things WITH {'name': 'foo', 'flag': True} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba884056-2455-4fe7-bd07-86814f5b38f5 {"foo": true} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_doesnt_contain_id [0.047697s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '0060fcfa-da78-4387-b320-23d48754e0dc', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/0060fcfa-da78-4387-b320-23d48754e0dc Openstack-Request-Id: req-e40800be-bd67-4252-b678-2bba2d9bee52 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "0060fcfa-da78-4387-b320-23d48754e0dc", "created_at": "2025-05-22T18:07:13.791603+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/0060fcfa-da78-4387-b320-23d48754e0dc", "rel": "self"}, {"href": "http://localhost/runbooks/0060fcfa-da78-4387-b320-23d48754e0dc", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} GET /v1/runbooks/0060fcfa-da78-4387-b320-23d48754e0dc WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6dd640db-09ab-4080-9603-b04725219f4a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "0060fcfa-da78-4387-b320-23d48754e0dc", "created_at": "2025-05-22T18:07:13.791603+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/0060fcfa-da78-4387-b320-23d48754e0dc", "rel": "self"}, {"href": "http://localhost/runbooks/0060fcfa-da78-4387-b320-23d48754e0dc", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_066_lessee_admin_can_patch_node_instance_info [0.386731s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e3a816bf-3954-4bf4-b7b7-7d7023fe43f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.079354s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/things WITH {'name': 'foo', 'flag': 'truish'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ff13d62-2f2e-4bb8-9e6b-22af87052971 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid flag: Unrecognized value 'truish', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_error [0.058099s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'be01b241-cfcb-46c1-82ae-f3ff7b91b93c', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-88273371-3576-4c76-8c23-5f38858551c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.177642s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.112755s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/things/ WITH {'three': 'three', 'four': 'four', 'five': 'five'} GOT Response: 201 Created Content-Type: application/json Openstack-Request-Id: req-c0c09c1d-b318-45cd-bf75-9559700c41bb {"three": "three", "four": "four", "five": "five"} {1} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.069151s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/things/ WITH {'three': 'three', 'four': 'fourrrr', 'five': 'five'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3113e313-b9a5-49c2-9d7c-1d79fe5ac84d {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.177426s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.059465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/things/no_content WITH {} GOT Response: 204 No Content Openstack-Request-Id: req-4525aa8f-8747-4220-b4d2-490cad2b6c6c {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_generate_uuid [0.257529s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/3c22a64e-ba6f-4f97-86df-2e0839f25e97 Openstack-Request-Id: req-b369411f-4c9d-465b-8606-a31dd7d21ea3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3c22a64e-ba6f-4f97-86df-2e0839f25e97", "created_at": "2025-05-22T18:07:14.103842+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/3c22a64e-ba6f-4f97-86df-2e0839f25e97", "rel": "self"}, {"href": "http://localhost/runbooks/3c22a64e-ba6f-4f97-86df-2e0839f25e97", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} GET /v1/runbooks/3c22a64e-ba6f-4f97-86df-2e0839f25e97 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ea8793cf-e782-429a-88ae-d501eb6248d6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3c22a64e-ba6f-4f97-86df-2e0839f25e97", "created_at": "2025-05-22T18:07:14.103842+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/3c22a64e-ba6f-4f97-86df-2e0839f25e97", "rel": "self"}, {"href": "http://localhost/runbooks/3c22a64e-ba6f-4f97-86df-2e0839f25e97", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} None {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_api_version [0.035334s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'f276abde-206c-4b72-bbed-15f7298a2fae', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow runbooks\"}"} {1} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.058886s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/things/response_content WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8043cfdb-1956-403c-a8eb-b54f4925631a "nothing" {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_empty_steps [0.058282s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '26cc20b3-2f70-447c-871a-7723f4f93e6b', 'steps': [], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3676d4b-c559-4adb-bf32-1736dbf7e865 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: [] is too short\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.065129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/things/response_custom_status WITH {} GOT Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-3cf7ded5-555c-4d44-81ac-10150b927893 "accepted" {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_extra [0.052655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '33af075b-eeb8-4ce3-9a1a-4981c2789f44', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': 1, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-502e5a66-1ead-4c1c-8c20-520ea132e549 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 1 is not of type 'object', 'null'\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_disabled [0.182549s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_067_lessee_manager_can_patch_node_instance_info [0.435454s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2fcebde5-e420-46d2-95a2-674d6b09e70f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.064702s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_foo [0.078675s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'da4b0f63-9b2e-498f-86c4-81ad3e5f2062', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None, 'foo': 'bar'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-77ac4224-3a2d-44ec-b29a-5054e79235a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.049418s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_name [0.049122s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 1, 'uuid': '17565b56-d86d-444e-9b1c-e02e42071e5e', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-62d1994f-b6e3-4f79-b005-a5e58afda1cc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 1 is not of type 'string'\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.153072s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.079102s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af7e3577-1d6a-40b5-8a19-75ef3e666359 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://spam.ham/eggs/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "versions": [{"id": "v1", "links": [{"href": "http://spam.ham/eggs/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}]} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_name_none [0.116605s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': None, 'uuid': 'e726926f-8fe7-4684-a25e-4a8e8dfaaccf', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e693bce3-920d-418c-b5e8-6ec9d7e3f778 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: None is not of type 'string'\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.070673s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78747e2b-d47b-481a-8cb0-93eabeb5150b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "https://mycloud.com/ironic/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "versions": [{"id": "v1", "links": [{"href": "https://mycloud.com/ironic/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}]} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_field_steps [0.087520s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '59ef1fd8-595e-42ff-8412-ba65d3c1a8f5', 'steps': {}, 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd2c9265-aae1-4479-bd1f-b231c5673ba9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: {} is not of type 'array'\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_068_lessee_member_cannot_patch_node_instance_info [0.296943s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c6b112b-b6a9-4c2e-b0d5-b00dfb7d97df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} {1} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_allocations_table_latin1 [0.088818s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_one_worker [0.209915s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_args1 [0.075275s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '23f51543-d69d-43de-8600-f56dc8533f86', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict', 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c9bfd3aa-e0e5-4001-b9cc-9864e00904db X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'not a dict' is not of type 'object'\", \"debuginfo\": null}"} {1} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_allocations_table_myiasm [0.077049s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_args2 [0.079906s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '2973592a-c1e1-4551-a248-419369cefc27', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-715cf813-9c5b-42c7-9bb1-27b639edc2a3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: [] is not of type 'object'\", \"debuginfo\": null}"} {1} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_allocations_table_myiasm_both [0.078763s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_foo [0.085958s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'bc3abd9e-aac5-4788-936b-06128318921b', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1, 'foo': 'bar'}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96c8fcc9-4cff-4de8-8f59-0a0fe8cea561 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} {1} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_allocations_table_ok [0.091695s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_069_lessee_reader_can_patch_node_instance_info [0.254644s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-99cdf27b-ef6f-4e21-a1f8-7c798b213f7f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.241132s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_interface1 [0.079394s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'd5acdc8e-a97e-4ec1-b375-9fe308761c0e', 'steps': [{'interface': [3], 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4b4c2256-f35e-4fc3-83f6-d13dd5564f81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: [3] is not of type 'string'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_interface2 [0.099300s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '3bbe0485-b38c-4c2a-ad3b-757db98e44f2', 'steps': [{'interface': 'foo', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d4675475-d520-47b4-b39f-bed4bfb78c15 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'foo' is not one of ['vendor', 'power', 'management', 'firmware', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_negative_order [0.089001s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '6236179b-b406-467a-870e-ea283e7bc452', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': -1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-61d9f276-84d2-429a-8c29-a25a6be669a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: -1 is less than the minimum of 0\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.212127s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_070_third_party_admin_cannot_patch_node_instance_info [0.262888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ff030e87-0c81-4ba5-aa98-50b837096f43 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_order [0.085579s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'baf1bf0f-05d1-481d-85d7-9930d417956b', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 'not a number'}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-53890915-f8e5-4aaa-ba74-242ba7db4d2d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'not a number' does not match '^[0-9]+$'\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_invalid_step_field_step [0.080662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '160a169f-8fdb-4684-9815-37fa3243a771', 'steps': [{'interface': 'raid', 'step': 1, 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02683164-f7cd-453a-9826-8810398aa51b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 1 is not of type 'string'\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.158007s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_071_owner_admin_cannot_delete_nodes [0.166543s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3038a71e-f9e0-40d6-9336-f749cf926a36 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_long_name [0.093541s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '676c55da-253e-4107-99fa-a72c80308916', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/676c55da-253e-4107-99fa-a72c80308916 Openstack-Request-Id: req-f6e55c95-fc22-4cb0-99fe-6081211fe39a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "676c55da-253e-4107-99fa-a72c80308916", "created_at": "2025-05-22T18:07:15.379863+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/676c55da-253e-4107-99fa-a72c80308916", "rel": "self"}, {"href": "http://localhost/runbooks/676c55da-253e-4107-99fa-a72c80308916", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__sensors_conductor [0.150506s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_name_invalid_too_long [0.086035s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '1198b1a1-770c-496f-ab41-bf5ac1b42604', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d1484705-eb08-492c-b56f-5ad8fdc6027e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_072_owner_admin_can_delete_nodes [0.161165s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-10c8be50-1d09-429f-a4a4-9e7331b50ff6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_no_mandatory_field_name [0.074561s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'uuid': '7d84dd62-a88a-4cc0-b444-f7d8769a4f25', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18152b7a-572f-48e1-8d21-2caf0fb2aad7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'name' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.161872s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_073_service_cannot_delete_owner_admin_nodes [0.147344s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d1745d82-7338-4d98-970b-c64bc9b348ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_no_mandatory_field_steps [0.080294s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'adf029e8-6b2f-4b8d-8b29-9da11a55b668', 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88a0ed9f-68bd-4226-9dbc-df348812f10d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'steps' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_obj_versions [0.768765s] ... ok {1} ironic.tests.unit.command.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.072630s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_no_mandatory_step_field_interface [0.087909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '5b7999b6-cf5a-4253-a26b-3be416109b8e', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bdbe7516-0db6-4c42-9215-0e3fa9cd5de3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'interface' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_empty_response [0.061283s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_no_mandatory_step_field_order [0.098178s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'e7c84146-876c-44c4-b88f-947287845266', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f52624ec-88ff-465d-be79-37f80f3b85ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'order' is a required property\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.225474s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_multiline [0.069682s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_074_service_can_delete_nodes_in_own_project [0.262250s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4be2e5e0-5db6-43da-a02b-0ae83eff74f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_no_mandatory_step_field_step [0.091164s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '68ec3f87-e10c-4993-ac54-efee22322b5e', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8a77c022-ea6c-4cbb-9a21-1d413fad6b16 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for runbook: 'step' is a required property\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_multiline_no_file [0.074601s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_public_runbook_project_scope_fails [0.098427s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'bad54ccf-48f3-4f82-bc10-038d25122068', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': True, 'owner': 'catsay'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b6d556fa-7534-42ab-9695-42e8e3d5c7ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a runbook as a project scoped admin with an owner other than your own project.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_runbook_owner_project_scope_fails [0.088215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '1018f30f-315c-467c-9ebe-386495a0519d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': 'catsay'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7d237ae-b184-4677-b769-7d00aa6171f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a runbook as a project scoped admin with an owner other than your own project.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.269329s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_runbook_owner_system_scope [0.069822s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '08b5098a-5a95-44fe-83b3-d702614f2bb3', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': 'catsay'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/08b5098a-5a95-44fe-83b3-d702614f2bb3 Openstack-Request-Id: req-afb65b20-5663-4698-8621-115851abf65e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "08b5098a-5a95-44fe-83b3-d702614f2bb3", "created_at": "2025-05-22T18:07:16.171341+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "catsay", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/08b5098a-5a95-44fe-83b3-d702614f2bb3", "rel": "self"}, {"href": "http://localhost/runbooks/08b5098a-5a95-44fe-83b3-d702614f2bb3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} GET /v1/runbooks/08b5098a-5a95-44fe-83b3-d702614f2bb3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ecd94806-3d85-42be-983f-06939db92342 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "08b5098a-5a95-44fe-83b3-d702614f2bb3", "created_at": "2025-05-22T18:07:16.171341+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "catsay", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/08b5098a-5a95-44fe-83b3-d702614f2bb3", "rel": "self"}, {"href": "http://localhost/runbooks/08b5098a-5a95-44fe-83b3-d702614f2bb3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_075_owner_manager_cannot_delete_nodes [0.289547s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b1ad8095-0a2c-4518-8603-3f4efd00a2e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_runbook_project_scope [0.077628s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '0a6b2cad-c594-4171-9069-a62f828432c2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/0a6b2cad-c594-4171-9069-a62f828432c2 Openstack-Request-Id: req-1205bf86-7bfa-496a-8d14-65767ec21734 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "0a6b2cad-c594-4171-9069-a62f828432c2", "created_at": "2025-05-22T18:07:16.243417+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/0a6b2cad-c594-4171-9069-a62f828432c2", "rel": "self"}, {"href": "http://localhost/runbooks/0a6b2cad-c594-4171-9069-a62f828432c2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} GET /v1/runbooks/0a6b2cad-c594-4171-9069-a62f828432c2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7df49af2-4c58-4bc1-8304-4f10b0e5322b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "0a6b2cad-c594-4171-9069-a62f828432c2", "created_at": "2025-05-22T18:07:16.243417+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "projectX", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/0a6b2cad-c594-4171-9069-a62f828432c2", "rel": "self"}, {"href": "http://localhost/runbooks/0a6b2cad-c594-4171-9069-a62f828432c2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_runbook_system_scope [0.051834s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': 'dc8a2989-4c49-4764-a0cf-c7ea44203d6d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/dc8a2989-4c49-4764-a0cf-c7ea44203d6d Openstack-Request-Id: req-eaf50c64-5cc0-4026-94c7-5d832a8bd044 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "dc8a2989-4c49-4764-a0cf-c7ea44203d6d", "created_at": "2025-05-22T18:07:16.302141+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/dc8a2989-4c49-4764-a0cf-c7ea44203d6d", "rel": "self"}, {"href": "http://localhost/runbooks/dc8a2989-4c49-4764-a0cf-c7ea44203d6d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} GET /v1/runbooks/dc8a2989-4c49-4764-a0cf-c7ea44203d6d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd8ae045-5501-4c30-9609-e21b2ff76b6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "dc8a2989-4c49-4764-a0cf-c7ea44203d6d", "created_at": "2025-05-22T18:07:16.302141+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/dc8a2989-4c49-4764-a0cf-c7ea44203d6d", "rel": "self"}, {"href": "http://localhost/runbooks/dc8a2989-4c49-4764-a0cf-c7ea44203d6d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_standard_trait_name [0.055411s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'HW_CPU_X86_VMX', 'uuid': '5d186cf9-80ea-4522-aad5-b45d8a9985f5', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/5d186cf9-80ea-4522-aad5-b45d8a9985f5 Openstack-Request-Id: req-53a24eb5-c4b2-4637-bd69-26e3b7c72837 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "5d186cf9-80ea-4522-aad5-b45d8a9985f5", "created_at": "2025-05-22T18:07:16.362762+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/5d186cf9-80ea-4522-aad5-b45d8a9985f5", "rel": "self"}, {"href": "http://localhost/runbooks/5d186cf9-80ea-4522-aad5-b45d8a9985f5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.246359s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_step_string_order [0.068520s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '82d675f1-f65f-4998-a6ba-e2c07eac3818', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'order': '1'}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/82d675f1-f65f-4998-a6ba-e2c07eac3818 Openstack-Request-Id: req-a99074b2-6de9-4468-b8ea-0814a8276ae4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "82d675f1-f65f-4998-a6ba-e2c07eac3818", "created_at": "2025-05-22T18:07:16.429687+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/82d675f1-f65f-4998-a6ba-e2c07eac3818", "rel": "self"}, {"href": "http://localhost/runbooks/82d675f1-f65f-4998-a6ba-e2c07eac3818", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": "1"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_076_lessee_admin_cannot_delete_nodes [0.281587s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-da7a2001-92ed-4258-bbff-d95a05828778 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_runbook.TestPost.test_create_steps_invalid_duplicate [0.056747s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_DT1', 'uuid': '6099133e-ad84-44cd-a19f-976f595515c4', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'order': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'order': 1}], 'disable_ramdisk': False, 'extra': {}, 'public': False, 'owner': None} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5c968cae-0946-4096-bc6b-4fac11ecc2bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_empty [0.032933s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b18e31af-1366-432d-95d0-6ab0997a6b10 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"shards": []} {1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_nomatch_line [0.606845s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_get_one [0.053192s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards/shard1 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3ede1876-98f9-4b78-8b56-05d57a41e3ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_get_one_wrong_version [0.046285s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards/shard1 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fc081af2-7dcb-4bde-b44b-90995b4be88d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The API version does not allow shards\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsGetChecksumTestCase.test_get_checksum_from_url_one_line [0.081583s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_post [0.039118s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/shards WITH {} GOT Response: 405 Method Not Allowed Allow: GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.319883s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_put [0.037508s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/shards WITH {} GOT Response: 405 Method Not Allowed Allow: GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_077_lessee_manager_cannot_delete_nodes [0.273594s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0aa3d879-16c5-4036-9fa8-a637a95740d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_fail_wrong_version [0.065438s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b0472d72-9ab1-4811-97bd-a98cce30ac8d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.80 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The API version does not allow shards\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.191586s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_multiple_shards [0.073575s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3a338433-7b4b-4443-a236-acad5823eb4b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"shards": [{"name": "shard5", "count": 5}, {"name": "shard4", "count": 4}, {"name": "shard3", "count": 3}, {"name": "shard2", "count": 2}, {"name": "shard1", "count": 1}]} {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_nodes_but_no_shards [0.055588s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a457753d-004b-47bb-ad60-98c75e7e05c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"shards": [{"name": "None", "count": 5}]} {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.203274s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_078_third_party_admin_cannot_delete_nodes [0.168928s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-945bde12-ce8b-4718-bed8-c4693d12197c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_shard.TestListShards.test_one_shard [0.052727s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6067a109-70b0-436c-ab1e-1752c4ad387e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"shards": [{"name": "shard1", "count": 1}]} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.023885s] ... ok {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.165286s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.028672s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.028967s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.029648s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.053389s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.025467s] ... ok {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.162330s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.021443s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.020630s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.024474s] ... ok {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.083031s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.035257s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.021744s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.019846s] ... ok {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.075813s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.041248s] ... ok {1} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg [0.065493s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.055629s] ... ok {1} ironic.tests.unit.common.test_exception.TestIronicException.test___init___invalid_kwarg_reraise [0.054731s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.043878s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.042258s] ... ok {1} ironic.tests.unit.common.test_exception.TestIronicException.test___init___json_serializable [0.062134s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_079_owner_admin_can_validate_node [0.598193s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-675134bc-0977-4f67-bc57-8ca1f3f9cfe6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.066810s] ... ok {1} ironic.tests.unit.common.test_exception.TestIronicException.test___init___string_serializable [0.054407s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.047964s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.683303s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.063019s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.061192s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.054592s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.049865s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_080_owner_manager_can_validate_node [0.169968s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c88a00e2-b085-4d9c-98a3-7d0157e7f79f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.049237s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.043791s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.058835s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.069014s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.073359s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.261371s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.077702s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.050999s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_081_lessee_admin_can_validate_node [0.231454s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4fd5f6fc-cb4b-4258-81ad-577ca9f5944f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.052094s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix [0.118286s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.047808s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.044261s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix_underscore [0.068107s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.057635s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.102203s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.051936s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_082_lessee_manager_can_validate_node [0.247031s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-502ebd25-98f3-45d6-9602-54d9588e2878 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.339893s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.089132s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_083_owner_member_can_validate_node [0.159455s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d8e3d148-d461-4681-aa00-a77d547ecdf6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.101228s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.107217s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_084_lessee_member_cannot_validate_node [0.176713s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8ceec1ee-41c0-425d-a7b2-775a80db59bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.089015s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.376242s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.429788s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.100251s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.078528s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_085_third_party_admin_cannot_validate_node [0.185830s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a935eba-e447-49df-8d85-d726539b2f7f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.061943s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.111948s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_access_via_auth_token_enabled [0.074345s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_086_owner_admin_can_set_maintenance [0.118642s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6547ee22-cafb-4f05-bda3-b4c763f1b9c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_admin_if_config_enabled [0.071761s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_087_owner_manager_can_set_maintenance [0.093754s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9fdbdb26-cc88-4e78-ba0a-c24682e0bdb5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.155774s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_community_image [0.082337s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_088_lessee_admin_can_set_maintenance [0.111782s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3053abcd-a3da-4b95-a108-42b67055aad9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_private_image_owned_by_conductor [0.075461s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.459171s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.088024s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_public_image [0.074532s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_089_lessee_manager_can_set_maintenance [0.081562s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f9faa9dd-9e13-4b14-8a4d-58822ddd27be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.083180s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_allow_shared_image_if_member [0.073812s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_090_owner_member_can_set_maintenance [0.083367s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-79d5d4fc-9319-4e3e-8d32-fb148a483e2b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.073253s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestIsImageAvailable.test_deny_private_image_different_owner [0.071462s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_091_lessee_member_cannot_set_maintenance [0.087450s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c57b743b-5c2b-472d-8cf2-de301ac553de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.073046s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.077830s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.120449s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_092_third_party_admin_cannot_set_maintenance [0.157104s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d0e6069f-087c-4878-884c-d467677c5330 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.075386s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.075959s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.066880s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.087159s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.526689s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.077991s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_093_owner_admin_can_unset_maintenance [0.163674s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f21a6a7f-08f1-4676-b210-9855579d680c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.087922s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.081253s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.077391s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.073363s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval_not_happen_sqlite [0.079606s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_094_owner_manager_can_unset_maintenance [0.188898s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-750b9d4a-754b-4a3d-89e2-6b29e0650179 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.077343s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.075276s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.061687s] ... ok {1} ironic.tests.unit.common.test_images.ImageDetectFileFormatTestCase.test_detect_file_format_fails_multiple [0.086100s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.074399s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_095_lessee_admin_can_unset_maintenance [0.229346s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b365fbd3-50ac-4feb-a51c-839bad3cd4bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_images.ImageDetectFileFormatTestCase.test_detect_file_format_passes [0.086855s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.064656s] ... ok {1} ironic.tests.unit.common.test_images.ImageDetectFileFormatTestCase.test_detect_file_format_passes_iso_gpt [0.061459s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.529397s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.084281s] ... ok {1} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_is_true_false_operators_edge_cases [0.099122s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.060481s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_096_lessee_manager_can_unset_maintenance [0.178407s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-92dc0eef-ae2b-4e30-85fc-069154fbba64 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.069177s] ... ok {1} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_oneofoperator_edge_cases [0.091451s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.067769s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_097_owner_member_can_unset_maintnenance [0.150714s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dae82d36-ed3c-4cbf-b2f2-231edd36509b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_operator_exceptions [0.089492s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.287066s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.075011s] ... ok {1} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_operator_with_loop [0.097611s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.068762s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_098_lessee_member_cannot_unset_maintenance [0.164663s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ad812b2d-efd3-4429-9430-45f7aa974097 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.065464s] ... ok {1} ironic.tests.unit.common.test_inspection_rule.TestOperators.test_rule_operators [0.117305s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.072798s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_099_third_party_admin_cannot_unset_maintenance [0.166907s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/33e120fe-81b2-47f8-a978-8f133ddef6ad/maintenance GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7a3c2922-632b-4b0b-bcd8-aa81bef484b2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 33e120fe-81b2-47f8-a978-8f133ddef6ad could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.101059s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.301443s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.064331s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.068759s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.105231s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.073138s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_100_owner_admin_can_set_boot_device [0.185896s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-621d999e-8327-466c-9687-c08075c61739 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.103491s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.079802s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.054509s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.103312s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_101_owner_manager_can_set_boot_device [0.169516s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6fcdfba1-f144-4162-9ad0-5899b46616e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.344601s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.069885s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.101588s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.067401s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_102_lessee_admin_cannot_set_boot_device [0.169367s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fd9e669a-2e90-4f60-ba1b-5713dee4071c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.105906s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.064863s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.060999s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.100185s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.073342s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.324305s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_103_lessee_manager_cannot_set_boot_device [0.212272s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b367bd2b-d3ed-475e-8b34-11dc54ea276b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.072388s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.062279s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.062598s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.044281s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.021878s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_104_owner_member_cannot_set_boot_device [0.227789s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ffed47cc-6258-4ff6-8437-d42c3007f493 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.279375s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.033703s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.045845s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.030788s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.033007s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.027741s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_105_lessee_member_cannot_set_boot_device [0.168564s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-461f7293-2c1c-4c60-8177-9fbcc6fc393d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.026705s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.022947s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.571408s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.044727s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.267328s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.075413s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.059798s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.050654s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.048952s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_106_third_party_admin_cannot_set_boot_device [0.193601s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8c850645-0660-4db3-87e3-335c9e10b979 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.035937s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.078677s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.025996s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.023955s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.072502s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.027926s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.082180s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.046053s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.028011s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.028131s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.054438s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.034890s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.080800s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.052665s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.058609s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_107_owner_admin_can_get_boot_device [0.262868s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e64d5b3e-533c-4ce5-accb-b427055e50ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.045142s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.058627s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.063512s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.045343s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.055207s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.081157s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.073681s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_108_owner_manager_can_get_boot_device [0.256147s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b998d03d-42d3-48b4-9484-30ab3e6ce4ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.122299s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.123743s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.149724s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.135307s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_neutron.TestGetSegmentBySubnetUUID.test__get_segment_by_subnet_uuid [0.035313s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetSegmentBySubnetUUID.test__get_segment_by_subnet_uuid_failure [0.022532s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetSegmentBySubnetUUID.test__get_segment_by_subnet_uuid_missing_segment [0.022136s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_002_nodes_post_admin [0.364074s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f07c986e-6392-44bc-9d2c-616e58b40946 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_109_lessee_admin_cannot_get_boot_device [0.281382s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-59cb9e6e-a537-4577-8efe-ceda85e693b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.117792s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.121107s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.119442s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_110_owner_member_cannot_get_boot_device [0.269152s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9419a12f-4064-4a13-9341-d2842ad7b9e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_003_nodes_post_member [0.344092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5556262a-b5f3-47b9-aeb4-e2bfa15e98d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [0.418599s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.128118s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_111_lessee_member_cannot_get_boot_device [0.275360s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0e04e7d2-99a1-4140-ae12-441b82ada36e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_004_nodes_post_observer [0.361550s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-47d3d4fc-9dfd-43f0-b227-36ea420b8b40 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_112_owner_reader_cannot_get_boot_device [0.339277s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6fb0e06e-dc51-4ab6-b9f1-cafe8a4dac1e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.508837s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_005_nodes_get_node_admin [0.280661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-124a5b29-6df7-4789-bdcf-b341469b1cde X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:07:23.759738+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.068886s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_006_nodes_get_node_member [0.179533s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a2c9fe49-979b-4eca-a19f-4d97a9286233 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.783883s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_007_nodes_get_node_observer [0.164267s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dec47a2c-1ee1-41cc-bb3e-37815b0d0f2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:07:24.124161+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_113_lessee_reader_cannot_get_boot_device [0.860009s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-05be55f6-2fe4-4431-9f08-d77e72950aab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_008_nodes_get_node_other_admin [0.614383s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6fe924cc-7b15-478c-9cea-097c6a65b8a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:07:24.707764+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.832546s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_114_third_party_admin_cannot_get_boot_device [0.243903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/259102fa-3b28-4d81-a54a-e0a0468925dc/management/boot_device WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8340c9bb-642f-41f6-b442-5c79c37a0da2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 259102fa-3b28-4d81-a54a-e0a0468925dc could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_009_nodes_get_admin [0.189960s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08b8e90c-c0c2-4c9c-88cf-298236249589 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "53644e04-c72d-4d6f-ad70-98dad644c30b", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_115_owner_admin_can_get_supported_boot_devices [0.243863s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-52824725-65a5-4c40-9480-92ccf7df77e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_010_nodes_get_other_admin [0.182315s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5dbe46fb-cb4b-43f3-a044-0cf1bba69a66 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "4ee71502-7ddc-4b13-8011-50e0a983e2f6", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_011_nodes_detail_get_admin [0.198416s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f4e1a79b-4d7b-4bcb-8022-32aa2f5f47ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:07:25.296599+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2025-05-22T18:07:25.298112+00:00", "updated_at": "2025-05-22T18:07:25.301978+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "292a4867-1488-4da1-9d29-8c0c7210579d", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "292a4867-1488-4da1-9d29-8c0c7210579d", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2025-05-22T18:07:25.348712+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", " rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_116_owner_manager_can_get_supported_boot_devices [0.252176s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2be52ad6-fea7-4d75-9c7e-70e744840b9b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_012_nodes_detail_get_member [0.277478s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-14ccbcba-3d0f-4fce-a9df-fa7ffdebf1e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_117_owner_member_cannot_get_supported_boot_devices [0.252118s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-956cbbf5-872e-4832-9ddd-7be8766d5424 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.898092s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_013_nodes_detail_get_observer [0.188457s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c89439c-e86a-4975-8cac-266025627edd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:07:25.755882+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2025-05-22T18:07:25.765903+00:00", "updated_at": "2025-05-22T18:07:25.770618+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "6ed16a7f-6395-4574-9616-fe3415c8fba6", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "6ed16a7f-6395-4574-9616-fe3415c8fba6", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2025-05-22T18:07:25.817762+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", " rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_118_lessee_admin_cannot_get_supported_boot_devices [0.235727s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b538e571-0498-44b9-96cf-f27ac4e36863 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_014_nodes_node_ident_get_admin [0.260031s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3fe692dc-89a1-4458-a1a6-7ad059886e88 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:07:25.974049+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkInterfaceMixin.test_get_network_names_and_uuids [0.388182s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_119_lessee_manager_cannot_get_supported_boot_devices [0.254182s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-972548ed-09bf-4a0b-b0b0-e2a4d1baddc0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_oci_registry.TestRegistrySessionHelper.test_get_token_from_config [0.076532s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [2.472666s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/ python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_oci_registry.TestRegistrySessionHelper.test_get_token_from_config_bad_file [0.070639s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_015_nodes_node_ident_get_member [0.248785s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aa112582-e0f8-4be5-be59-a8ab7f2d3306 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_oci_registry.TestRegistrySessionHelper.test_get_token_from_config_default [0.044393s] ... ok {1} ironic.tests.unit.common.test_oci_registry.TestRegistrySessionHelper.test_get_token_from_config_no_match [0.054292s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_120_third_party_admin_cannot_get_supported_boot_devices [0.242366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-510803c4-bc08-4bfe-80ac-c1edc8647b1b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.089628s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_016_nodes_node_ident_get_observer [0.172785s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f4eed705-cc7c-4322-952a-f962c1aa9b06 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:07:26.453240+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.060721s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.282841s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.047145s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_121_owner_admin_can_send_non_masking_interrupt [0.232924s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6e36621a-1537-4e14-8bda-1aec0d76d800 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.049822s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.130899s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.062844s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.264678s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-493b5046-a60f-494f-8118-845ebd629cc8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.084264s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.105799s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.033847s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.090996s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_122_owner_manager_can_send_non_masking_interrupt [0.264683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9668a3c6-513d-435e-acc6-bf8413a3c2f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_018_nodes_node_ident_patch_member [0.181933s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d31f8373-58ba-472a-92b7-2b2ef684ccb1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.120575s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe_anaconda [0.101653s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.084253s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.162810s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.059462s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.238602s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-26b6a8ea-4a7c-485d-bde7-5f2642e9d956 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.069927s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_123_lessee_admin_cannot_send_non_masking_interrupt [0.291774s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-51058faa-e02e-4f02-8a8b-7040e6617002 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.069472s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.162011s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bf60cb58-a146-4fc1-b976-cbf8741ce685 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.161591s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_124_lessee_manager_cannot_send_non_masking_interrupt [0.221919s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4a599e80-6a88-49de-a0c3-203fa5df97da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.348674s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.062893s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_021_nodes_node_ident_delete_member [0.242517s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9aab0591-349e-49da-ac9e-f059a2f172c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.057654s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_125_third_party_admin_cannot_send_non_masking_interrupt [0.157116s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/2e527905-4780-484e-adcd-f536c84a539f/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-45416b12-0ceb-4670-8d32-69a888d80c28 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 2e527905-4780-484e-adcd-f536c84a539f could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_url_http [0.070925s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.256614s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.026041s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.030103s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.023654s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.068408s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.035535s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.199098s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c34f28de-d081-4e89-8f89-ea4c7501326d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.024956s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.025409s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.070464s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.031220s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_126_owner_reader_get_states [0.263493s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3d0a913-5323-46bf-a2de-6006c9b9ae50 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.027042s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.034853s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.024429s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_023_nodes_validate_get_admin [0.186444s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ea55fb24-d841-40d5-ae64-fe921f1afd83 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.023713s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.031596s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.196394s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_ramdisk [0.038574s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.032994s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.022694s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.028759s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.024681s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_127_lessee_reader_get_states [0.269009s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6fab217f-66bd-4358-b89d-30919f25cfc7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_024_nodes_validate_get_member [0.196041s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eaf4206a-ca92-4264-8e22-73f852e2d1af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.037274s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.033467s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.050947s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.271073s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_025_nodes_validate_get_observer [0.181862s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b83e12ec-7f7b-42cb-9566-666600f50cb9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.129589s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_128_third_part_admin_cannot_get_states [0.272843s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/d7a8a21c-e4e2-4918-a724-6977b8ea2b96/states WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-74cf0af9-72ed-443f-b98a-b68159f3c9c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node d7a8a21c-e4e2-4918-a724-6977b8ea2b96 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_026_nodes_maintenance_put_admin [0.160422s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-93b6a4d7-baa9-437f-a067-53cc3c60e004 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.177222s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_027_nodes_maintenance_put_member [0.172191s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-778c6944-4261-4f50-9979-d2ea3e2d5023 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_129_owner_admin_can_put_power_state_change [0.262026s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8bfd00cf-95bb-40f4-95eb-451960513c6b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.198286s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_028_nodes_maintenance_put_observer [0.174976s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3a8f09fd-02a6-4490-8044-62ecdd4d025f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.575466s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.189389s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_130_owner_manager_can_put_power_state_change [0.258893s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-932c6a7c-2b91-4e0f-9009-69a4f9cb1a66 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.214979s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7e2d2c29-cf2d-479f-b0a2-d494db6b42ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.190273s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_131_lessee_admin_can_put_power_state_change [0.244814s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2d1638d0-7976-4a5e-ae37-f1601a610c62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.370869s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_030_nodes_maintenance_delete_member [0.179734s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-90d69978-091a-43f3-aefa-47457bafbd32 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.163560s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.192079s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-090b47f0-0ce7-40ca-8cda-45d8894315ba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_132_lessee_manager_can_put_power_state_change [0.256404s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f08f87e2-cb35-4d6c-bb89-b3a2e799719a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.181632s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.206413s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b3e5b1b3-927b-4211-8aae-7427140dd108 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.432498s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.167959s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_133_owner_member_can_put_power_state_change [0.258301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9e8b741e-fbda-41dd-87d1-f9c519c1ddb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.250240s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4d368cce-7543-40ec-8532-3a21031ccd16 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.206484s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.324348s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.089785s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_134_lessee_member_can_put_power_state_change [0.290867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dbeadefd-6bec-4a1f-9a78-c9a8e5f08e70 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.080955s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.159230s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.274048s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81c7218b-6511-4a16-9cfc-247286adbcab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.092789s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_135_owner_reader_cannot_put_power_state_change [0.238576s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power WITH {'target': 'power on'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0456355a-9423-40d5-b45a-0bccdedac953 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_fallback [0.084742s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.166977s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.242450s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f68e592a-ea3f-4bfb-b39a-b1ec8f3e7855 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.113877s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.153216s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_136_lessee_reader_cannot_put_power_state_change [0.248629s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power WITH {'target': 'power on'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8879401d-42b2-47e6-8f98-020eef2169eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.102238s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_bios [0.154234s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.210947s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b78e6db4-7b1b-4657-a6f2-3bb611935fb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.095284s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.101862s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.143611s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_137_third_party_admin_cannot_put_power_state_change [0.253865s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/49b3371b-2f90-4431-8e0b-a0b111442ffa/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5ba43f42-ad8f-4332-8aeb-1224467ca4ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 49b3371b-2f90-4431-8e0b-a0b111442ffa could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.198222s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-169c8f9c-680d-470d-97d6-d62157bfb93b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.147232s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.168033s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.174371s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-290bb792-123b-48b0-9013-0da022403bbb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.127670s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_138_owner_admin_can_put_boot_mode_state_change [0.256166s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bf782877-971b-43b2-8ec9-04956438fd84 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.160012s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.140977s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.124858s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.233193s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-22a6c297-dcd1-4613-853b-595858c75232 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_139_owner_manager_can_put_boot_mode_state_change [0.191377s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-afef1b2c-6556-4a13-b79d-2d417b912342 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.132927s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.097652s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.071913s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_140_lessee_admin_can_put_boot_mode_state_change [0.159645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b13ebf5e-11fe-4fee-b8dd-ccf666ccb2f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.131536s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_anaconda [0.160811s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.342224s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-984beb60-5154-49c8-ae2e-cfc69fa93127 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.168117s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_141_lessee_manager_can_put_boot_mode_state_change [0.229989s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c014b51e-1f85-4eb2-b6b1-499a0edf9fe6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.084747s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.116320s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.113689s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_142_owner_member_can_put_boot_mode_state_change [0.226676s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-07b82b4e-fbb3-4d88-a5bf-d4ff0a10e21d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.314461s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-46ada675-d25d-4dbb-98e2-48ba72ee83ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.101112s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.165087s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.081696s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_143_lessee_member_can_put_boot_mode_state_change [0.157118s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-09eb2c58-0981-4359-9b3e-5ae3520ab457 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.091590s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.203919s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.047492s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_144_owner_reader_cannot_put_boot_mode_state_change [0.147307s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode WITH {'target': 'uefi'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-62ff429c-2390-4ea1-9e57-e31d34a52b47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.072031s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.086329s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.091082s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_145_lessee_reader_cannot_put_boot_mode_state_change [0.188517s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode WITH {'target': 'uefi'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a69ffff3-88ea-4abe-b2b5-ab6b5a22c9c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.284515s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.559929s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f70b2673-07b6-4df0-a175-dbfd40a50fa2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.133231s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.190659s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_146_third_party_admin_cannot_put_boot_mode_state_change [0.228361s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/478ea70a-430f-4735-ae7d-a31e1a31a1e5/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a1e79282-1022-433e-98b6-727a858ab457 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 478ea70a-430f-4735-ae7d-a31e1a31a1e5 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.199521s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f4c5c9e-81e7-4220-b65f-8ca45bbc8918 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.128032s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.094858s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipv4 [0.141095s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_147_owner_admin_can_put_secure_boot_state_change [0.253493s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-639e9242-b40e-484e-880c-8282b1de5c72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_044_nodes_states_get_admin [0.259910s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c620568c-161b-4cda-8b23-4d1625362997 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipv6 [0.141569s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.341053s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipxe_ipv4 [0.135579s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.104252s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_045_nodes_states_get_member [0.244721s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ad1c1225-5e23-408d-ac25-bc6c0efc9fc1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_http_ipxe_ipv6 [0.114657s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.167061s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_046_nodes_states_get_observer [0.240787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06042727-813f-465b-b3f7-d908ad735105 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.095583s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.093018s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.100886s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_148_owner_manager_can_put_secure_boot_state_change [0.742407s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c7dc83aa-1d4b-4da5-9e1b-ba4ae37cc681 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_047_nodes_states_power_put_admin [0.264855s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4255ac29-9d49-4c53-a547-40f45d146794 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.061152s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.050168s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_149_lessee_admin_can_put_secure_boot_state_change [0.176554s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4c6d5340-fe57-49f4-9a30-946eab4afb03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.100922s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.597698s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.063398s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_048_nodes_states_power_put_member [0.270340s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5fe1e5d3-3fde-41af-8938-974b460c408d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.053537s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.140981s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_150_lessee_manager_can_put_secure_boot_state_change [0.181240s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ed0ea9ab-fb2e-49e7-9379-181c45e61d9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.047753s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.054994s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.074297s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.036327s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.049438s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.042813s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_049_nodes_states_power_put_observer [0.190257s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ee61d7d2-f912-496b-b42c-aad65eeb91ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.060121s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.064679s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.037299s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.058012s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_151_owner_member_can_put_secure_boot_state_change [0.296844s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5fed4c3d-9f89-45eb-af08-415c8084c94a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test__do_node_cleanhold_abort_tear_down_fail [0.058656s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.054215s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.173194s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-81699af1-a213-4391-a498-4c6c6f8abaf7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test__do_node_service_abort_tear_down_fail [0.063980s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.065186s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.056836s] ... ok {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test_do_node_service_abort_early [0.080741s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.166123s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cce3ee70-dc99-47a4-8069-d51b92710a9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_152_lessee_member_can_put_secure_boot_state_change [0.195484s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2e522e63-493f-4f52-8cad-29a4bb423bda X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_link_mac_pxe_configs_with_pxe_disabled [0.117056s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_servicing.DoNodeServiceAbortTestCase.test_do_node_service_abort_with_step [0.111341s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config [0.071158s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.164965s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ca8841c7-9841-4e63-bb33-235ea29f031b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_153_owner_reader_cannot_put_secure_boot_state_change [0.154990s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot WITH {'target': 'true'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-723a9bb6-737d-43e7-976d-1909aad5b3eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.097924s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config_existing_dirs [0.073903s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.100830s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_pxe_config [0.057455s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.151649s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fa708f5f-d66c-4cbe-aa3e-f3436ca82b29 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.040812s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_154_lessee_reader_cannot_put_secure_boot_state_change [0.164801s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot WITH {'target': 'true'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8e05fe11-e669-497a-8515-9c249fa1ddb9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.040210s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.127608s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.033604s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.141490s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2c33782d-f75a-4a47-b5aa-3ee21a9c3749 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.044866s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.102985s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.036010s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_155_third_party_admin_cannot_put_secure_boot_state_change [0.194984s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/4d8d2fed-b1d6-43b0-8574-88f32863588d/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-46756dd0-6389-4e24-815c-ad7eefc97ae2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 4d8d2fed-b1d6-43b0-8574-88f32863588d could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_steps.NodeServiceStepsTestCase.test__get_service_steps [0.045376s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.054557s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.046864s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.185556s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-73e654fa-00ab-49e0-90b5-a07d93fa57cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_steps.NodeServiceStepsTestCase.test_set_node_service_steps [0.113519s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.047755s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_156_owner_admin_can_change_provision_state [0.160712s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2c5c1aba-d6a3-4a69-9f14-ac824ec0875f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.053569s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.061938s] ... ok {0} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_off [0.132933s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_056_nodes_states_provision_put_admin [0.159999s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-81a21038-8d89-4f25-9a9c-2c3c2b4cd2b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.052454s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_157_owner_manager_can_change_provision_state [0.166360s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-da184895-fbf3-483b-b066-0277536dbba6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.054206s] ... ok {0} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_on [0.107670s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.043844s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_057_nodes_states_provision_put_member [0.152951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1631ac56-fdba-4e5d-ac89-841f42401a97 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.042523s] ... ok {0} ironic.tests.unit.conductor.test_steps.ReservedStepsHandlerTestCase.test_reserved_step_power_reboot [0.120693s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_158_owner_member_can_change_provision_state [0.140791s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b50abd63-4c76-47ba-86a1-6456a3f1575f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.034637s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.050363s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.054262s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_058_nodes_states_provision_put_observer [0.158170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cb7e5da5-54a0-47cf-88c8-080d92816148 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.049081s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_159_lessee_admin_can_change_provision_state [0.097302s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8cb94f81-8921-4b0d-9b67-e8aeaba23157 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.067698s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.040058s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.052545s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.057692s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.049585s] ... ok {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.042286s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_059_nodes_states_raid_put_admin [0.165318s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d262252c-4bd8-4416-83e7-fde37d9e02e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_160_lessee_manager_can_change_provision_state [0.150420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-acd5376d-c4ff-4116-b5f4-5d0a59376be8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.052118s] ... ok {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.047436s] ... ok {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.040065s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.057953s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.043639s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_060_nodes_states_raid_put_member [0.146759s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a419fdd4-93c0-48a3-a54b-114232ab90fc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.100408s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.050069s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.048516s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_161_lessee_member_cannot_change_provision_state [0.231958s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'deploy'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3bb533af-e7fb-432a-921c-05df2d5a13d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.080745s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.056428s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_061_nodes_states_raid_put_observer [0.155114s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c94cf68b-5d71-40be-a80d-f2c7abb62b5a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.070736s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.044374s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.038584s] ... ok {1} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.045574s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.116103s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_062_nodes_states_console_get_admin [0.159155s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0b4dfed-42a3-4f7f-96ac-f60e2aa2b5f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.043371s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_162_third_party_admin_cannot_change_provision_state [0.241563s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cc6108b6-5f1d-4621-9d8b-9f550266b831 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.069687s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.106343s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.058120s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.099571s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.069433s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_063_nodes_states_console_get_member [0.238856s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3e680f0d-254c-4876-97b7-94198e794a47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.056384s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_163_service_can_change_provision_state_for_own_nodes [0.241521s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f388928f-3fdc-413e-bae1-fdf75941ddc6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.103702s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.058066s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.076710s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.047879s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.030577s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.056399s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_064_nodes_states_console_get_observer [0.173765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1180de17-6c06-4e9e-9b5e-f758b7362f28 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_utils.MkfsTestCase.test_mkfs [0.057882s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_164_service_cannot_change_provision_state [0.200434s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c5df424e-6781-4484-962f-b53e3e5b96a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.common.test_utils.MkfsTestCase.test_mkfs_with_label [0.057680s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.096925s] ... ok {1} ironic.tests.unit.common.test_utils.MkfsTestCase.test_mkfs_with_unexpected_error [0.044953s] ... ok {1} ironic.tests.unit.common.test_utils.MkfsTestCase.test_mkfs_with_unsupported_fs [0.038366s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.090340s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_165_owner_member_can_set_provision_state_clean [0.148632s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'clean', 'clean_steps': [{'interface': 'deploy', 'step': 'update_firmware', 'args': {'foo': 'bar'}, 'priority': 99}]} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-09e6e97e-f150-4ddd-a201-7b84c1597952 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 is locked by host lolcats, please retry after the current operation is completed.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_065_nodes_states_console_put_admin [0.216050s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-24714e3e-dfc6-4ba2-80a6-0e7a0203ccc7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.072224s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.066300s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_166_owner_reader_cannot_set_provision_state_clean [0.152349s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'clean', 'clean_steps': [{'interface': 'deploy', 'step': 'update_firmware', 'args': {'foo': 'bar'}, 'priority': 99}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7b7823a5-9ab0-4964-8543-92ddb744b00b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.175302s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_066_nodes_states_console_put_member [0.159706s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c473f877-79da-4049-9986-e062a7f894aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.077706s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.069578s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_167_lessee_admin_can_set_provision_state_clean [0.155931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'clean', 'clean_steps': [{'interface': 'deploy', 'step': 'update_firmware', 'args': {'foo': 'bar'}, 'priority': 99}]} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-487c6c18-2e9d-49cb-80a7-4449814ae817 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f is locked by host lolcats, please retry after the current operation is completed.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.050113s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.160934s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_067_nodes_states_console_put_observer [0.163070s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-11c119f3-804c-40a5-8397-f46d0df7a25a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.079486s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_admin [0.096800s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1e7f8cc2-3c53-4651-972e-fab9212364eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_168_lessee_member_cannot_set_provision_state_clean [0.167975s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'clean', 'clean_steps': [{'interface': 'deploy', 'step': 'update_firmware', 'args': {'foo': 'bar'}, 'priority': 99}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d878bbe-1eba-4b33-8db5-4a243c095488 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.180719s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_member [0.089692s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4ad3f855-39c3-4a6b-a12c-2f5a84bc582e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_070_nodes_vendor_passthru_methods_get_observer [0.094268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e9cb10f-a4e9-4cdc-9aec-ed16b00b4e8e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_169_owner_member_can_set_provision_state_service [0.166945s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'service', 'clean_steps': [{'interface': 'deploy', 'step': 'update_firmware', 'args': {'foo': 'bar'}, 'priority': 99}]} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-71a4667b-32ec-40be-a513-761ca5fb897d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 is locked by host lolcats, please retry after the current operation is completed.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.166236s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_071_nodes_vendor_passthru_get_admin [0.162677s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9fbcf091-2cbe-4980-aaf9-44b130fd6d9e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_170_owner_reader_cannot_set_provision_state_service [0.157365s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision WITH {'target': 'service', 'clean_steps': [{'interface': 'deploy', 'step': 'update_firmware', 'args': {'foo': 'bar'}, 'priority': 99}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d2e7ccd3-0f75-4f22-a99e-651b84c556f0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.183860s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.483544s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.074152s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_171_lessee_admin_can_set_provision_state_service [0.153262s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'service', 'clean_steps': [{'interface': 'deploy', 'step': 'update_firmware', 'args': {'foo': 'bar'}, 'priority': 99}]} GOT Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e3061be8-5320-41b4-a103-9b0afdb936d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f is locked by host lolcats, please retry after the current operation is completed.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_072_nodes_vendor_passthru_get_member [0.205111s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a3f38c5-9ec4-4851-b124-5bc3f66cb074 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_servicewait_timeout [0.073996s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_servicewait_timeout_handler_call [0.054835s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_172_lessee_member_cannot_set_provision_state_service [0.139429s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision WITH {'target': 'service', 'clean_steps': [{'interface': 'deploy', 'step': 'update_firmware', 'args': {'foo': 'bar'}, 'priority': 99}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ddabb7d7-e555-4af3-8a99-b51c4b8768d7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.079770s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_073_nodes_vendor_passthru_get_observer [0.157070s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e27fcdc8-6cb3-4dbd-9b31-9b6708aed943 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.096342s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.100128s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.509627s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_173_owner_admin_can_set_raid_config [0.259275s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-62ecfd36-2700-4e56-8257-7c35a2d57c6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_074_nodes_vendor_passthru_post_admin [0.220290s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d088df1a-caa1-4fcf-9b65-7b77b93dd0c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.107268s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.124626s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_075_nodes_vendor_passthru_post_member [0.163405s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3fcd96e0-6373-4d8b-bc4c-2140d94dc5a7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.107398s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.136501s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_174_owner_manager_can_set_raid_config [0.256850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-89282e9a-636f-40b0-8124-b73cc4079e68 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.112765s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.029561s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.072914s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.030625s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.027510s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler [0.029533s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_076_nodes_vendor_passthru_post_observer [0.232835s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-839f8a1a-0de0-4416-b7bc-3f1cb2f78baf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_no_fail [0.029403s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_no_teardown [0.027411s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_servicefail [0.029064s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_servicewait [0.030301s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_175_lessee_admin_cannot_set_raid_config [0.278269s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e4be91c-28fc-4520-9d95-f9e542900fbd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_servicing_error_handler_tear_down_error [0.039313s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.034462s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.031442s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_077_nodes_vendor_passthru_put_admin [0.239191s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d2d3a8a7-de7a-41ec-9b2d-e27bdae2efea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.033906s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_176_lessee_manager_cannot_set_raid_config [0.193997s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e9ce578b-c841-4eea-adac-542e60be7aed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.059921s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.063214s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_078_nodes_vendor_passthru_put_member [0.158649s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f87d79da-f7a8-4156-b296-92a55d28a3f9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.069537s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.565722s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_177_owner_member_can_set_raid_config [0.183097s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-46ed3f08-8cc7-4214-be2b-e7a1a67bc22f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_servicing_error_handler_no_worker [0.089987s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.143167s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_servicing_error_handler_other_error [0.103150s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_178_service_owner_can_set_raid_config [0.204855s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-78e7e882-48d1-4232-a38a-a514113416c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.098812s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_179_lessee_member_cannot_set_raid_config [0.145591s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-748e8b4e-432d-4aa3-a9c7-93dfb968171f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.097675s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.286091s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.096303s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_079_nodes_vendor_passthru_put_observer [0.562741s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b28d8a00-ef8c-40ca-b634-1cb4f15af89f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_180_third_party_admin_cannot_set_raid_config [0.178354s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2bd3eec1-583f-4f7c-81bd-a0a5d9a3d99b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.153576s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.148647s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_080_nodes_vendor_passthru_delete_admin [0.236290s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0d94f1d1-b003-4269-a261-6a7ea1027eb1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.131702s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_181_service_cannot_set_raid_config [0.254389s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c4d32fbd-b485-40ad-bbfc-6bba74b85365 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_json_rpc [0.212526s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.106247s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_081_nodes_vendor_passthru_delete_member [0.172805s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-415d3dff-3326-40d6-9b77-831cee47d0fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_json_rpc_port [0.137112s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_182_owner_admin_can_get_console [0.158137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-77c45387-c6b5-46dc-9220-2db9538826c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.087628s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.057348s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_082_nodes_vendor_passthru_delete_observer [0.150071s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c685b2b5-2051-48a7-a6ca-5f852d255b96 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.174858s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.150454s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_083_nodes_traits_get_admin [0.162595s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-46ad115d-e71c-4f10-b81c-f6d9da16584f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": ["trait1"]} {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_noop [0.117434s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.235143s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_084_nodes_traits_get_member [0.153218s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b38830cd-6d4f-41e6-819e-c71ffb856610 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.086193s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_183_owner_manager_can_get_console [0.536822s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1d8abcfc-9a4a-40c2-ace4-193964bc492f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.101963s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_no_enabled_interfaces [0.202266s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_085_nodes_traits_get_observer [0.188183s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7dd621dc-60dc-4973-86a4-94214f8be74c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": ["trait1"]} {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.118631s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_184_owner_service_can_get_console [0.157815s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4dab2ee2-0205-4102-8b50-8c6e6f052323 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.097886s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_without_jsonrpc_port_pined_version [0.151956s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_086_nodes_traits_put_admin [0.164751s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a7d42ea2-1926-4471-ba0b-8c92f21e69ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.093463s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_185_lessee_admin_cannot_get_console [0.160119s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-474748ad-a78c-4c62-8890-5d903d2dc9e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.046327s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.045960s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.043189s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.230462s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_087_nodes_traits_put_member [0.210673s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cba7f97c-17a3-4aa3-9dad-59ef173bd7d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.049124s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_186_lessee_manager_cannot_get_console [0.235993s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bdf9f1e4-7867-4265-9db1-b467d163c0a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.095671s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.101133s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.238897s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_088_nodes_traits_put_observer [0.257728s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4179437f-c364-473f-a87a-129686a18908 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {0} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.052497s] ... ok {0} ironic.tests.unit.conf.test_types.ExplicitAbsolutePath.test_explicit_absolute_path [0.038788s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_187_owner_member_can_get_console [0.250379s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e68f8faf-2273-4d2e-b16e-6e42076850bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.137542s] ... ok {0} ironic.tests.unit.console.container.test_console_container.TestConsoleContainerFactory.test_factory [0.055948s] ... ok {0} ironic.tests.unit.console.rfb.test_authnone.RFBAuthSchemeNoneTestCase.test_handshake [0.044568s] ... ok {0} ironic.tests.unit.console.rfb.test_authnone.RFBAuthSchemeNoneTestCase.test_types [0.048790s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_089_nodes_traits_delete_admin [0.237831s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-47c6c55c-db47-495c-9db6-f313637618bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_188_lessee_member_cannot_get_console [0.214939s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1d5b1573-2685-4c87-9818-5a378f8930fc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.210139s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test__close_connection [0.140090s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_090_nodes_traits_delete_member [0.204163s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dbe57a80-cf95-488a-992b-f8aeb96ffa1d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_189_owner_reader_cannot_get_console [0.155322s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1140d1de-5c8a-49d3-a82d-6f8a57684fe7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.155785s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test__close_connection_raise_OSError [0.154833s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_091_nodes_traits_delete_observer [0.152847s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-46bf4bbc-969c-4100-ada2-4db08abcaae4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_190_lessee_reader_cannot_get_console [0.144968s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ffc7fc53-2197-4d39-9d76-ecdabc2ca3eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_092_nodes_traits_trait_put_admin [0.170634s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8c8885fc-63d0-4540-81b1-da6d3927c928 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children [0.348311s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_191_third_party_admin_cannot_get_console [0.226609s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1f56ca01-b4e0-4d44-9242-1d86d216dafa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_093_nodes_traits_trait_put_member [0.187236s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5391457c-3973-4873-9552-edb4c7470e51 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_094_nodes_traits_trait_put_observer [0.074662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-87a74f3a-ef9a-435d-891b-45f7ee5401ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_192_owner_admin_can_set_console [0.206022s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1910bc1f-866c-4bbe-b06e-8ab54bf1fd40 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_address_string_doesnt_do_reverse_dns_lookup [0.595111s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_095_nodes_traits_trait_delete_admin [0.071102s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e78448fd-0b15-405e-9990-a592f75b69a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_096_nodes_traits_trait_delete_member [0.096487s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d26aa730-c877-4b2f-a118-a6e1ad6ff9b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_193_owner_manager_can_set_console [0.209064s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2cc2d8ce-0fc5-4261-acb8-e1b4194391e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client [0.175739s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_097_nodes_traits_trait_delete_observer [0.075842s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01179b64-a61b-42e9-9510-36f374a442a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_098_nodes_vifs_get_admin [0.111227s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2aeb6750-1ff3-476d-9a53-d15b860b0868 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_http_forwarded_proto_https [0.162236s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children_by_uuid [0.614361s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_194_lessee_admin_cannot_set_console [0.189376s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {'enabled': True} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f7928e8f-6bb7-4422-be7a-707fc29e42b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_099_nodes_vifs_get_member [0.143736s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-188e4a92-8173-419e-9e0d-1c13db4f3f81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_failure [0.126815s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_ipv6_url [0.153258s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_195_lessee_manager_cannot_set_console [0.191735s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {'enabled': True} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6f8b951f-d5cf-4400-b558-d255cc7beda6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_ok [0.122744s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_100_nodes_vifs_get_observer [0.160478s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b1497400-1cb5-4836-8864-0f0cef2ad7a3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_novnc_allowed_origin_header [0.130235s] ... ok {1} ironic.tests.unit.conductor.test_inspection.TestContinueInspection.test_ok_asynchronous [0.110134s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_196_owner_member_can_set_console [0.176811s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8ed0f4b2-7a85-43ae-a87d-d2d28c55f3e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_novnc_bad_origin_header [0.154212s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_101_nodes_vifs_post_admin [0.170023s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bee39ce8-bc0d-4629-8a4f-4b7503eed2bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_102_nodes_vifs_post_member [0.108103s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5213f72c-d795-4ea9-8921-d1ab1eb5fb80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_197_lessee_member_cannot_set_console [0.182252s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console WITH {'enabled': True} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e2c4ecd1-0a22-44df-876d-6779dd2d10e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_novnc_blank_origin_header [0.172857s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.251022s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_103_nodes_vifs_post_observer [0.082092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fdb08742-3a78-4b71-876d-829caf65de28 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_admin [0.068115s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-da20a74b-19a8-4578-8582-81c56ad2915e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_198_owner_service_can_set_console [0.188270s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-18786457-0089-4e55-952c-eb0e2548d321 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_novnc_no_origin_header [0.176827s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.273843s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_member [0.190406s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7941289e-632b-4f59-92b4-e93358f86b7e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_new_websocket_client_token_invalid [0.146098s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_199_service_cannot_set_console [0.193971s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console WITH {'enabled': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0abc6dc5-9794-4e77-ae80-382441eff727 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_non_default_ssl_min_version_is_set [0.114021s] ... ok {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_reject_open_redirect [0.094104s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_106_nodes_vifs_node_vif_ident_delete_observer [0.259465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-837ee1f3-ce9e-461d-8c36-02deb900a719 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.272930s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_200_owner_admin_cannot_get_vendor_passthru_methods [0.207476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6a7d4940-fb24-42bf-a1e9-1c16f9d4b2bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_reject_open_redirect_3_slashes [0.143832s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_107_nodes_management_indicators_get_admin [0.151258s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-097257b0-991f-43b9-8d1c-b85eba8315b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_201_owner_manager_cannot_get_vendor_passthru_methods [0.169342s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-27ef8c70-4c6a-4bc7-86f3-cab194009a55 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.196874s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_ssl_min_version_is_not_set [0.144680s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_108_nodes_management_indicators_get_member [0.164315s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-499c3352-153a-4ace-9b5c-0cd2fde80992 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_202_owner_service_cannot_get_vendor_passthru_methods [0.168342s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e4a88aa-4bb3-42fd-8860-820e06966e59 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerTestCase.test_ssl_min_version_not_set_by_default [0.132266s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.236469s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_109_nodes_management_indicators_get_observer [0.156703s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5e9e78d7-2aaa-4885-ac47-aef437f58ef5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_203_owner_member_cannot_get_vendor_passthru_methods [0.180604s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6e0c2ccf-46ff-444e-905f-8162573873cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicWebsocketSecurityProxyTestCase.test_proxy_connect_err [0.156123s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_110_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.212873s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_204_owner_reader_cannot_get_vendor_passthru_methods [0.179183s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-71c28638-25c5-4f97-b77d-e0a5340b851b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicWebsocketSecurityProxyTestCase.test_proxy_connect_ok [0.155627s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_111_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.059297s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.046233s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_205_lessee_admin_cannot_get_vendor_passthru_methods [0.161549s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-47e39c9a-5a97-445b-9207-a1abe3e30b3e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_112_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.231147s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.078467s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_113_portgroups_get_admin [0.158198s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-64aeb78a-0c9e-48c6-9ef1-efe6dcf79052 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.056619s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_206_lessee_manager_cannot_get_vendor_passthru_methods [0.192532s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7ecd8edd-e778-42ce-b31b-e0e1b47f5225 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.106374s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_114_portgroups_get_member [0.138787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f89dbb10-bc2d-4158-8499-9c17ba1609e9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_207_lessee_member_cannot_get_vendor_passthru_methods [0.171475s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0547054d-83b0-4ac8-bd00-04d2f00d6538 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.097894s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.489617s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_115_portgroups_get_observer [0.156717s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a913aa27-2f3c-42e9-9c43-551d21f7d5c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.086361s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.091013s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_208_lessee_reader_cannot_get_vendor_passthru_methods [0.177392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7a1cf089-c6b5-48cd-9572-36b544bae7bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.082734s] ... ok {0} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_cannot_migrate [0.067179s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_116_portgroups_post_admin [0.165281s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/7107aa60-c504-4aed-bb0b-7ebc604df20c Openstack-Request-Id: req-69e50cd4-7829-4038-aa6a-3bbe558b781e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7107aa60-c504-4aed-bb0b-7ebc604df20c", "created_at": "2025-05-22T18:07:45.661096+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "links": [{"href": "http://localhost/v1/portgroups/7107aa60-c504-4aed-bb0b-7ebc604df20c", "rel": "self"}, {"href": "http://localhost/portgroups/7107aa60-c504-4aed-bb0b-7ebc604df20c", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/7107aa60-c504-4aed-bb0b-7ebc604df20c/ports", "rel": "self"}, {"href": "http://localhost/portgroups/7107aa60-c504-4aed-bb0b-7ebc604df20c/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_cannot_migrate_some [0.099491s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_209_owner_admin_cannot_get_vendor_passthru [0.167536s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0b504dda-3320-4fde-8384-6244e15348bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_migrate_all [0.077555s] ... ok {0} ironic.tests.unit.db.test_api.MigrateToBuiltinInspectionTestCase.test_migrate_with_limit [0.077111s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_210_owner_manager_cannot_get_vendor_passthru [0.167007s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-653ef177-f783-4fdf-a323-0bb8138df792 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.324345s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.db.test_node_inventory.DBNodeInventoryTestCase.test_destroy_node_inventory_by_node_id [0.068066s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_211_owner_service_cannot_get_vendor_passthru [0.075494s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f51227e1-f595-476d-b6c4-cdf3cffdab8b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.db.test_node_inventory.DBNodeInventoryTestCase.test_get_inventory_by_node_id [0.063823s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_212_owner_member_cannot_get_vendor_passthru [0.072858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-94e6f751-b4e5-4b76-ad0a-00bb2c909065 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.049887s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.202069s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_213_owner_reader_cannot_get_vendor_passthru [0.080852s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-76f4eef3-ec2d-4c6c-9e7e-a015f75f91f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_117_portgroups_post_member [0.500232s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fb2de27d-fcb2-4ee3-9145-4384ba773075 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.117784s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_214_lessee_admin_cannot_get_vendor_passthru [0.071903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-99a6d99d-fe16-4247-9a9c-c6a362a5a0b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.106111s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_215_lessee_manager_cannot_get_vendor_passthru [0.105886s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2df0cb26-5445-435a-8c90-2dbe492ce9b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_118_portgroups_post_observer [0.156400s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-86b5e6ab-6629-47fa-a3c4-cc693dc5fc38 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.212013s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.085747s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.073206s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_216_lessee_member_cannot_get_vendor_passthru [0.184155s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-55869b82-c244-4030-a074-f0705ffbf95f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_119_portgroups_detail_get_admin [0.159979s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05cf237f-958b-444d-ad5a-27745bd45647 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:46.436080+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.202717s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.093087s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.029754s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.035119s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_217_lessee_reader_cannot_get_vendor_passthru [0.178670s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4790937b-e334-4ded-a72b-e74bbafc7dba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.058839s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_120_portgroups_detail_get_member [0.175752s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-347fecda-3a8c-4030-9e06-b2291a7a6ba9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none_by_arch [0.053548s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.214498s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.057780s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.038142s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config_by_arch [0.026648s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_121_portgroups_detail_get_observer [0.187695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-69a1201c-c00e-4bd1-a701-9f25a713aeea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:46.801860+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.037259s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.048899s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.045997s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.252848s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.080984s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_122_portgroups_portgroup_ident_get_admin [0.200377s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3af984db-d9f3-4d25-9a1e-de35f682b8c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:46.998732+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.043487s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_218_owner_admin_cannot_post_vendor_passthru [0.480016s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d6eccea0-cd25-4ab1-8d7e-1a734084da92 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.061515s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.244159s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.064155s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_123_portgroups_portgroup_ident_get_member [0.188589s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-30c243a9-a1e6-4b34-aa7a-01218f632ee6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_219_owner_manager_cannot_post_vendor_passthru [0.151354s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9a97322c-98b6-49c4-a631-1471486b5614 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.095193s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.120881s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.091701s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_220_owner_service_cannot_post_vendor_passthru [0.162557s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-985ef476-80a0-4749-9ed3-1951e75e96b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.127655s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_124_portgroups_portgroup_ident_get_observer [0.215423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-be372f44-8cdb-46e7-8c24-c6ffeac2fff8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:47.392142+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.120885s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.099399s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_221_owner_member_cannot_post_vendor_passthru [0.155273s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-da46a732-971a-425a-b740-dc449e134d89 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.087369s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_125_portgroups_portgroup_ident_patch_admin [0.191658s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5f9d0c63-6e68-4ad9-9226-0b4f038ed7cb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_cleaning [0.093266s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_222_owner_reader_cannot_post_vendor_passthru [0.144575s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-af54be7c-3e19-48d1-bb29-0b89d985bf52 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_126_portgroups_portgroup_ident_patch_member [0.185875s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9e258b8e-39b2-4bdf-b338-ebe3990d1bea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_deploying [0.102278s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_223_lessee_admin_cannot_post_vendor_passthru [0.159235s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-13856fef-d67f-48cd-94e4-c0fa89685ca3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_anaconda_rescuing [0.095740s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_127_portgroups_portgroup_ident_patch_observer [0.200685s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-770a2dcf-f984-4aae-a02d-48399bb2776d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.524067s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.096962s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_224_lessee_manager_cannot_post_vendor_passthru [0.148635s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0a1e5778-908a-42cc-8744-d485a19c78fc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.089416s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.116693s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.060981s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_128_portgroups_portgroup_ident_delete_admin [0.191630s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-37a839d6-7f81-4d2d-8103-048e2057f008 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_225_lessee_member_cannot_post_vendor_passthru [0.154654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5d4c6f8f-c02b-46e8-b162-88237b13bd00 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.128499s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_get_destroyed_after_destroying_a_node_by_uuid [0.160471s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_129_portgroups_portgroup_ident_delete_member [0.167739s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a38c298b-6d65-4313-8e44-cfbd46bf7b9f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_226_lessee_reader_cannot_post_vendor_passthru [0.192512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-93aec7d3-2288-443b-8601-0d17e86cd635 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.114215s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.100825s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_130_portgroups_portgroup_ident_delete_observer [0.169044s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6b4e1538-14f6-42fa-905f-5f6466a23953 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_not_destroyed_SwiftOSE_maintenance [0.200965s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_227_owner_admin_cannot_put_vendor_passthru [0.148195s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0c7bebd1-8bcd-4d5d-a60c-ae859abdc1ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.048015s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.049163s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.051265s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_228_owner_manager_cannot_put_vendor_passthru [0.150698s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f3d4c965-41e4-4da6-8a7c-884ad1028fda X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.028819s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_131_nodes_portgroups_get_admin [0.182403s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e6b305a1-8ecd-4f66-8ec4-ecd61e7b4d26 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_inventory_in_swift_not_destroyed_SwiftOSE_not_maintenance [0.182170s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.026796s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_229_owner_service_cannot_put_vendor_passthru [0.084648s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-048aff56-9557-4b4b-b763-9c249cfa67b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.106833s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_230_owner_member_cannot_put_vendor_passthru [0.086918s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5863ed12-521c-4dc9-a0c9-2ea829f05045 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_132_nodes_portgroups_get_member [0.153113s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-414901db-88d7-4102-8b15-4e1c871729cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.113374s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_231_owner_reader_cannot_put_vendor_passthru [0.094350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-04616981-c992-44ce-a08f-dc22b5ec6f3b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_232_lessee_admin_cannot_put_vendor_passthru [0.083660s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-055d9852-04f0-4fa3-a259-c4d35ecc7d23 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_133_nodes_portgroups_get_observer [0.170225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52a9fef3-8ba6-462f-8f00-f20619b6eb7d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.111129s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.368519s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_233_lessee_manager_cannot_put_vendor_passthru [0.090017s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-31beb0bc-2625-492a-92f2-501d9797b367 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.105869s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_234_lessee_member_cannot_put_vendor_passthru [0.081928s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cab9d46e-a720-4ea8-883e-7fbd9629473b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.111285s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_134_nodes_portgroups_detail_get_admin [0.195551s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e7c98ea-9add-45e7-9ddd-5532b8abb291 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:49.267617+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.110226s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_235_lessee_reader_cannot_put_vendor_passthru [0.079824s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b49b0388-7a9a-4007-8221-fb59db018af1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.099603s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.080589s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_236_owner_admin_cannot_delete_vendor_passthru [0.082729s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3f787a9f-7a26-4571-bb36-6b42b7195ba9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_135_nodes_portgroups_detail_get_member [0.167461s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-26e399c1-ffff-40e6-9f4b-7d2d074c6c3a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.092932s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.092395s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.094074s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_237_owner_manager_cannot_delete_vendor_passthru [0.163156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e65d6bbf-cd00-400b-ad1c-b9d8eaaa5913 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.105059s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_136_nodes_portgroups_detail_get_observer [0.167967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b7951c75-a237-41ff-ae0d-cf95ca31ab56 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:07:49.596950+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.084209s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.105338s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_238_owner_service_cannot_delete_vendor_passthru [0.174687s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-357d8a27-575f-4c55-b572-4a284d176c83 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_137_ports_get_admin [0.154035s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bbe14c54-c240-4808-bbd6-a2c5e3ebcedc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.078178s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.105031s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.090899s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.103175s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_138_ports_get_member [0.159210s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0110eabe-a8da-4ded-816c-210021fd93ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_239_owner_member_cannot_delete_vendor_passthru [0.187705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0a2c11c2-6049-42f9-9653-8b42e87259c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.103204s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.119215s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.051283s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_139_ports_get_observer [0.160938s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b8b38a8-3b9e-4d88-b691-f4146c296f92 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.064011s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.102769s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_240_owner_reader_cannot_delete_vendor_passthru [0.188356s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-defa9621-8278-4ad3-af73-7f093aaa29ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.065967s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.116555s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_140_ports_post_admin [0.169007s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1996583e-5e49-4935-b236-1ae841b19019 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.096381s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_241_lessee_admin_cannot_delete_vendor_passthru [0.166772s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-56222201-c365-4ac5-a04f-80a044b1cf55 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.122789s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_141_ports_post_member [0.173944s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2c1dad50-28f4-4b04-a7a0-189467b54c73 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service [0.209739s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.125240s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_242_lessee_manager_cannot_delete_vendor_passthru [0.189196s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1b952319-60e4-4ec2-b50d-64c2daa0fda8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_142_ports_post_observer [0.165327s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-03a42c94-bd26-4b14-be95-7df7db31c6c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.106134s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_243_lessee_member_cannot_delete_vendor_passthru [0.158951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d18677b4-f74d-466e-a76b-28b3e50d8d5a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.110342s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_abort [0.242740s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_143_ports_detail_get_admin [0.155606s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a54367e9-3849-4ad2-a59a-4b1df8855c74 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:50.764723+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.113765s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_244_lessee_reader_cannot_delete_vendor_passthru [0.183333s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3b05356f-e688-42c0-851a-af80c4567468 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_144_ports_detail_get_member [0.162310s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-82585845-08d6-4dc1-9c98-ff72273fc2c3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.110144s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_abort_last_service_step [0.236517s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.078506s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_245_owner_reader_get_traits [0.198299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce50d898-9335-442d-87ad-2480a7141820 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": []} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_145_ports_detail_get_observer [0.151631s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1c5c970b-d959-4901-9fda-319c4db293e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:51.087196+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.084463s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_locked [0.201514s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.063775s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_246_owner_reader_get_traits_service [0.177256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4de3dd8f-21d4-4b2c-b48e-f4e6df47a046 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": []} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.057938s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_146_ports_port_id_get_admin [0.186249s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d25fb84-0938-4ac8-a26a-09aa5d0ac016 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:51.251720+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.090153s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_worker_pool_full [0.221074s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_247_lessee_reader_get_traits [0.186069s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0460e9b6-bb98-4481-bc89-e8c18b9a6cca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": []} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_file_url [0.092007s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_download_http_url [0.086278s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_continue_node_service_wrong_state [0.186662s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_248_third_party_admin_cannot_get_traits [0.207304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-33a95137-6e97-4a93-a44a-de3c52562dc9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.098775s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.096586s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_provision_action_unhold_service [0.198412s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_147_ports_port_id_get_member [0.539040s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-76c8597d-48d8-4ddb-9436-db7ae368ece5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.070018s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_249_owner_admin_can_put_traits [0.191771s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b397bcef-b4a7-4de4-828a-a1ab974a0e5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.064852s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_service [0.188508s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_148_ports_port_id_get_observer [0.166302s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec5d49d0-d526-45e5-ae5d-33830cd4ee90 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:51.967820+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.065958s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_250_owner_manager_can_put_traits [0.161987s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a3d7c2b5-f1e4-48dc-88c2-9c6d68671fd6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.066015s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeServiceTestCase.test_do_node_service_maintenance [0.138795s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.060751s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_251_owner_service_can_put_traits [0.153821s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1bc41e1e-cb46-439b-b3ad-84593940301a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_149_ports_port_id_patch_admin [0.217866s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b527644d-c7c0-410e-b887-0b08ded6bfc4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.095814s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.101092s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.107636s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_252_owner_member_cannot_put_traits [0.166242s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2ee2faec-c28a-48b1-aeef-7b4f67086fd0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.096061s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_150_ports_port_id_patch_member [0.192299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-53ffff42-db21-47b1-bb7f-7fefb72b15bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.095571s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.103633s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.308537s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.098493s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_151_ports_port_id_patch_observer [0.245644s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3df54a3b-7d4e-4b54-ba88-ec0eeae74cb1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.090752s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.092817s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_152_ports_port_id_delete_admin [0.188512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-31b6ff94-86ff-4bb1-a159-54ed87821bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_253_lessee_admin_cannot_put_traits [0.545215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d1ae8188-f706-44cc-8046-923b2d4d3b13 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.079826s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_254_lessee_manager_cannot_put_traits [0.143814s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c41305fe-c934-4a57-b93c-7a45ca8de566 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.094310s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_153_ports_port_id_delete_member [0.193180s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-46e5be9a-1ea6-438c-a2ee-867d3c17519d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.083545s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_255_lessee_member_cannot_put_traits [0.142274s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-47d16948-b22d-417e-8ee2-c767f45976e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.088800s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_154_ports_port_id_delete_observer [0.170353s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9c923d10-e2c8-49d1-ad4e-42b0ed05147b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.051601s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.057396s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_256_third_party_admin_cannot_put_traits [0.164569s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f9567bb3-8eaf-4b3f-9cb6-ac97d7980c84 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.057344s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_155_nodes_ports_get_admin [0.183691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3bd91e38-2086-4830-b2dc-7b1b0e51e45e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.062481s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [0.831480s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-pack ages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: Depr ecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_257_third_party_admin_cannot_put_traits_service [0.189094s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aa63645d-cf1c-41d7-b446-6bbbdf372e50 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.056209s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_156_nodes_ports_get_member [0.168138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9cd19f6c-8e30-449b-8d82-e1e1e89792e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.134090s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.111863s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_258_owner_admin_can_delete_traits [0.144080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fd80203b-bf24-47db-b827-2aba6b1d511b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.118766s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.094298s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_157_nodes_ports_get_observer [0.194650s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5df9e726-56b4-4d46-ad2a-5e18d025a315 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_259_owner_manager_can_delete_traits [0.156799s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-08b634a0-36c0-49ae-93f7-61ef1b7840d6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.141364s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_158_nodes_ports_detail_get_admin [0.172149s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55be837a-922e-4143-94ae-00b32cf3aba4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:53.942977+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_260_owner_member_cannot_delete_traits [0.144900s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-03990b8b-9570-4e85-83b6-1829f22c4a41 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_source_path [0.118414s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_remove_vif_failed [0.109197s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_261_lessee_admin_cannot_delete_traits [0.147805s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a0ca3d7d-a031-4cad-bb2c-1a9035e39fd0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_159_nodes_ports_detail_get_member [0.169220s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-69be3034-e437-46eb-b3e2-ef241849fc7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.115129s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.479842s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_262_lessee_manager_cannot_delete_traits [0.139744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ffe49af7-7d19-464f-b9b9-b18e3bf60621 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_160_nodes_ports_detail_get_observer [0.172928s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a227f079-70c4-47b0-91e9-3905c6dc9050 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:07:54.286065+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.106506s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.093941s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.090854s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_263_lessee_member_cannot_delete_traits [0.148423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-25ab0b1e-d9ef-4861-9a4c-62d5e7089bf5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.109014s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.081669s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_161_portgroups_ports_get_admin [0.195589s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-150a7191-93ef-4d36-83c8-928941707457 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.109424s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_264_third_party_admin_cannot_delete_traits [0.149743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2013910d-de3c-438a-9f6e-60e1ea87f0ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.085851s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.103690s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.109472s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_162_portgroups_ports_get_member [0.178248s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c81f9087-744f-4a0c-8446-b4e61da9980f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.032632s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_265_owner_admin_can_put_custom_traits [0.160876s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c6975426-af59-4cb1-aa68-b45d102f4bf9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.101601s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.070183s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_266_owner_manager_can_put_custom_traits [0.077940s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-acb2f942-93c2-41fb-bc07-00069a72a4d3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.056542s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_267_owner_member_cannot_put_custom_traits [0.085144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9003f859-f5b4-4e9b-9730-4f78c6b23a59 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.049384s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.107230s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_163_portgroups_ports_get_observer [0.206423s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9c5e2cb6-899b-4cce-bac5-7350dfff0f2c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.043122s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_268_lessee_admin_cannot_put_custom_traits [0.072584s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-85df6540-c5ad-4a1a-97db-e8ba19664c72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.040421s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_269_lessee_manager_cannot_put_custom_traits [0.069704s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-802f63b7-2be7-4ef5-a472-df550c64142c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.075669s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.156851s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_270_lessee_member_cannot_put_custom_traits [0.073508s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cb68dd7c-7f48-48e7-b619-7a9d9569a69b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_164_portgroups_ports_detail_get_admin [0.245675s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e776bd4d-e0cb-4cc8-982c-0165047caa8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.112787s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_271_third_party_admin_cannot_put_custom_traits [0.089130s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b5412809-53fa-446c-abbd-720ebadd941d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.050445s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.052969s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.055634s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_165_portgroups_ports_detail_get_member [0.186308s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6f0e87ec-5422-4413-9961-e2c6977f11aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_272_owner_reader_get_vifs [0.156435s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c59c501b-949a-4d66-b28d-185152106e4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.047876s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.043305s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.050206s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_273_lessee_reader_get_vifs [0.161471s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6f74affe-9e1f-4c1e-9815-f158a7f72667 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.047547s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_166_portgroups_ports_detail_get_observer [0.192909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d2adecfe-f3f7-4e59-b6e1-c56a0e8c9e06 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.052437s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.557804s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.053232s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_274_third_party_admin_cannot_get_vifs [0.150389s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c317a30b-cc73-4c28-a2ec-a6644a28dcb6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_167_volume_get_admin [0.157863s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d6593fb7-1ca2-4044-b42b-55391d155472 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.053827s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.086691s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.045221s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.056951s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_275_owner_admin_can_post_vifs [0.129485s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-37cf12d4-61d8-4014-85e7-fa5a6f4b5b64 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_redfish_properties [0.069737s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_168_volume_get_member [0.139319s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dbd70a0d-a9fd-4ec4-9957-19f52baa2191 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.077412s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_276_service_can_post_vifs_for_own_project [0.073746s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7fbee804-7601-4067-8c27-eee3a5432a7c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.062536s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_277_service_cannot_post_vifs_for_other_project [0.075806s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d6fc14c9-f41e-4fb0-b2bc-37def46baa9c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.049872s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.131465s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_169_volume_get_observer [0.148050s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a7f6ad4e-1aa3-436b-9e9c-6f574238528b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.054450s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_278_owner_manager_can_post_vifs [0.077190s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ee116474-f2fc-4fc3-ace1-3c9abc3d65c5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_with_disable_power_off [0.082864s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.059256s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_279_lessee_admin_can_post_vifs [0.077215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cb78d4ea-7a0f-46d3-abdd-835a386c13e9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.066884s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_sha256 [0.042058s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_170_volume_connectors_get_admin [0.162519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-134b83e9-926b-46d3-b892-59186de7fbf5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "de39cbd3-bd69-4280-a8d8-93c5bc2767e1", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/de39cbd3-bd69-4280-a8d8-93c5bc2767e1", "rel": "self"}, {"href": "http://localhost/volume/connectors/de39cbd3-bd69-4280-a8d8-93c5bc2767e1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.060170s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_280_lessee_manager_can_post_vifs [0.080478s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-02f092b0-33f3-47ab-8bbc-fb2adb76d790 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_sha512 [0.062880s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.087236s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_281_owner_member_can_post_vifs [0.084945s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3c7c14ea-37c5-4851-84c5-32cb9931f6fe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.064885s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_171_volume_connectors_get_member [0.161850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e90ac3e0-2eb7-49f0-84e4-eff8c749aeda X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.055766s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.066471s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_282_lessee_member_cannot_post_vifs [0.073418s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-58ec7e44-2586-4ba2-bfeb-0c02fb84eed8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged_for_fake_node [0.061431s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.058094s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_283_owner_reader_cannot_post_vifs [0.080985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a94c9b10-58ff-4d27-a6c4-3bd42a026c42 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.054504s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.060864s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_172_volume_connectors_get_observer [0.163670s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31654f7d-c8e4-44c2-86f6-9a1d76200476 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "548033e0-9634-4940-9236-09361b46fdf0", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/548033e0-9634-4940-9236-09361b46fdf0", "rel": "self"}, {"href": "http://localhost/volume/connectors/548033e0-9634-4940-9236-09361b46fdf0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_284_lessee_reader_cannot_post_vifs [0.071356s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-85cdccc9-ea5f-4ecf-bf64-205fe189feac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.060209s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.090002s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_285_third_party_admin_cannot_post_vifs [0.072722s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b2923eb7-b72b-4a09-9244-5875cfdd4b2a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.048327s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.058143s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.055504s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_286_owner_admin_delete_vifs [0.073253s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5853c983-c4bf-4301-9ee8-5a2195b0fc4e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_173_volume_connectors_post_admin [0.176128s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/45be75e2-e931-49ef-8f29-1989cb96be14 Openstack-Request-Id: req-f86cd5a2-6ec4-4d5a-a291-b3e92afee462 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "45be75e2-e931-49ef-8f29-1989cb96be14", "created_at": "2025-05-22T18:07:56.703073+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/45be75e2-e931-49ef-8f29-1989cb96be14", "rel": "self"}, {"href": "http://localhost/volume/connectors/45be75e2-e931-49ef-8f29-1989cb96be14", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.050961s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_287_owner_manager_delete_vifs [0.089832s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b3ee99ad-58d4-4661-a2aa-5f93fa91e46a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.054958s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.179148s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.052309s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_174_volume_connectors_post_member [0.194553s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8abafdbe-47cb-4846-af24-8bacaae650fe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.101746s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.067407s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.054228s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_288_lessee_admin_can_delete_vifs [0.267631s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2b0b2630-05b9-4183-9beb-c4e75ee5a299 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.049819s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.114371s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_175_volume_connectors_post_observer [0.180632s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f1f46687-9eea-4dcf-9db0-1076eca6049c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.032375s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.031911s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.029310s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.098372s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.027805s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_289_lessee_manager_can_delete_vifs [0.153266s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-606c6550-2d15-46da-b222-7bb8d10add0c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.030210s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_176_volume_volume_connector_id_get_admin [0.164713s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/3fccdace-eda2-4c1d-a76e-c31da94df841 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d461d662-dc27-43fe-831b-f7db696ef3fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3fccdace-eda2-4c1d-a76e-c31da94df841", "created_at": "2025-05-22T18:07:57.175640+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/3fccdace-eda2-4c1d-a76e-c31da94df841", "rel": "self"}, {"href": "http://localhost/volume/connectors/3fccdace-eda2-4c1d-a76e-c31da94df841", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.033685s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.028685s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.133086s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.028368s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.034341s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_290_owner_member_can_delete_vifs [0.159039s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-90f1700d-64c2-4140-a6fe-596640c5f0cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.029908s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_177_volume_volume_connector_id_get_member [0.157560s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/752d3e04-9226-44df-9eed-9aedbcbbbf5e WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e670513d-ef41-49a0-8654-2efbeaf57515 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 752d3e04-9226-44df-9eed-9aedbcbbbf5e could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.024455s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.037649s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.145419s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.051970s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_291_lessee_member_cannot_delete_vifs [0.168751s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dc0d71bd-370a-415e-9ef1-517d50e5f216 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.052304s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.110190s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_178_volume_volume_connector_id_get_observer [0.164715s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/2bd8f863-62a4-411c-931d-80a410dfb272 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-baa9b081-009d-41e7-9c36-56b2f3379130 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2bd8f863-62a4-411c-931d-80a410dfb272", "created_at": "2025-05-22T18:07:57.510599+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/2bd8f863-62a4-411c-931d-80a410dfb272", "rel": "self"}, {"href": "http://localhost/volume/connectors/2bd8f863-62a4-411c-931d-80a410dfb272", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.056895s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.098155s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.071271s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_292_third_party_admin_cannot_delete_vifs [0.160683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af25d420-16d2-442c-9769-485975746986 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_179_volume_volume_connector_id_patch_admin [0.178860s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/90c54864-a158-481b-aeb2-ece625a60cf1 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8bc100ea-d209-4e49-b6c8-b0da5ed34e43 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.111206s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_293_service_can_delete_vifs [0.163867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f7e92950-ffc9-4d7f-ab1b-c717634fc167 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.113274s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.259255s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.055955s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.117662s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_294_service_cannot_delete_other_nodes_vifs [0.171540s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6e4b350c-9d83-424b-9b1a-8943d2569dad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.060514s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.063099s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.045875s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.057653s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.047153s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.051623s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_295_owner_readers_can_get_indicators [0.156871s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f195e69a-1b24-44ae-a8e1-f2da1252a068 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.053078s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.052363s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.046684s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_180_volume_volume_connector_id_patch_member [0.567068s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/2f422d61-bf8a-41da-8a29-a58681551a74 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-31f7679d-079e-49f6-8d64-0bc894a761a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 2f422d61-bf8a-41da-8a29-a58681551a74 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_296_lesse_readers_can_get_indicators [0.133261s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e0ed55ba-20c2-45e5-96ef-1689a12b3315 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.114208s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.078176s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_297_third_party_admin_cannot_get_indicators [0.071212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cbb12cc2-dd04-48fb-8b8a-70c6a2f0a011 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system [0.095681s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_298_owner_reader_can_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_181_volume_volume_connector_id_patch_observer [0.155503s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/ce6669a3-746a-4d71-a07c-494f2fe12303 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d8755b91-6c56-4e56-90c3-636cc2699eb3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.151699s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_299_lessee_reader_not_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_is_it_a_supported_system_exception [0.101909s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.119694s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_182_volume_volume_connector_id_delete_admin [0.155829s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/145c3579-e009-45d9-9111-56d879e10684 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f639721b-4628-4e4c-a81e-141a8e5b18cc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.097765s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_300_owner_member_can_set_indicator [0.158568s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators/component/magic_light WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fc201bc5-8e3f-4e3d-b01d-85ab7c19055d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.118809s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.091418s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_183_volume_volume_connector_id_delete_member [0.151641s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/7e1fada4-8801-4b45-ad0e-c6808d8de7c7 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b798a446-046e-4fa8-a483-4b97a1d92bf0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 7e1fada4-8801-4b45-ad0e-c6808d8de7c7 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.125787s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_create_subscription [0.143345s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_301_lessee_member_cannot_set_indicator [0.187913s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-394519b1-4930-4ee9-94be-00268c145755 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_184_volume_volume_connector_id_delete_observer [0.184527s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/e2a09a88-495e-4b09-bd64-7728f57a0e3c GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3618fc2e-536c-4eaf-bfc6-b2087dca19e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_operation_exeption [0.101134s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_clean_step_automated_execute_fail [0.160512s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_302_third_party_admin_cannot_set_indicator [0.146903s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/697f88cd-4b42-4b39-b3e9-d43d09dae600/management/indicators/component/magic_light WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ee60601e-bc98-4293-b8b5-3e382601585d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 697f88cd-4b42-4b39-b3e9-d43d09dae600 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_pci_devices.PciDevicesTestCase.test_pci_devices [0.111708s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_185_volume_targets_get_admin [0.173057s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5e7f656-bbb6-47bc-8797-0b3bd9baa001 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "e95704a4-4e36-4625-9c16-248fc63396c3", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/e95704a4-4e36-4625-9c16-248fc63396c3", "rel": "self"}, {"href": "http://localhost/volume/targets/e95704a4-4e36-4625-9c16-248fc63396c3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_303_owner_reader_can_list_portgroups [0.168867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04ee5b75-87d6-42fe-9566-a8643b14b3f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}, {"uuid": "bf4cc397-9533-4096-b2d4-6529482c89b2", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/bf4cc397-9533-4096-b2d4-6529482c89b2", "rel": "self"}, {"href": "http://localhost/portgroups/bf4cc397-9533-4096-b2d4-6529482c89b2", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_fail_in_tear_down_service [0.205641s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_physical_network.PhysicalNetworkTestCase.test_physical_network [0.173096s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_186_volume_targets_get_member [0.152212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d918840b-5e46-47a8-b908-987094546e89 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_last_step_noop [0.148018s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_304_owner_service_can_list_portgroups [0.181680s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-18c3ebd3-7c3e-47f9-9fe0-7e8b12ae0968 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}, {"uuid": "861e3713-7aba-4d95-98b2-bf6f6e7404b3", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/861e3713-7aba-4d95-98b2-bf6f6e7404b3", "rel": "self"}, {"href": "http://localhost/portgroups/861e3713-7aba-4d95-98b2-bf6f6e7404b3", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_all_match [0.129256s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_187_volume_targets_get_observer [0.183950s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e7fe7b0-1f9c-4c3e-bce1-383688da9cb4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "35753eba-ef40-486d-8737-ad141bc2501d", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/35753eba-ef40-486d-8737-ad141bc2501d", "rel": "self"}, {"href": "http://localhost/volume/targets/35753eba-ef40-486d-8737-ad141bc2501d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_first_match_on_skip_list_use_second [0.115222s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_305_lessee_reader_can_list_portgroups [0.151635s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb87ed2f-1756-400e-9c96-b50bad73a723 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "0a4e460f-0754-4bce-b751-f70210731db7", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/0a4e460f-0754-4bce-b751-f70210731db7", "rel": "self"}, {"href": "http://localhost/portgroups/0a4e460f-0754-4bce-b751-f70210731db7", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_automated_no_steps [0.182815s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_incorrect_hint [0.098996s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_188_volume_targets_post_admin [0.171250s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/45f6f173-4190-4ed6-a1cf-7b0ee5906d9f Openstack-Request-Id: req-63287fb9-90e7-4a52-9110-25597ce823a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "45f6f173-4190-4ed6-a1cf-7b0ee5906d9f", "created_at": "2025-05-22T18:07:59.667078+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/45f6f173-4190-4ed6-a1cf-7b0ee5906d9f", "rel": "self"}, {"href": "http://localhost/volume/targets/45f6f173-4190-4ed6-a1cf-7b0ee5906d9f", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_306_third_party_admin_cannot_list_portgroups [0.142246s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-98ac73f0-0b49-4ca4-84d0-566c357802d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": []} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_bad_step_return_value [0.155012s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_local_gb_without_spacing [0.115057s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_189_volume_targets_post_member [0.127809s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-962be7b1-d6b0-494d-87ad-cba3ba9608bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_no_hints [0.103360s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_next_service_step_manual_last_step_noop [0.139965s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_307_owner_reader_can_read_portgroup [0.176623s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8cb627e6-dab9-4af6-8cc0-b968de801df0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2025-05-22T18:07:59.785219+00:00", "updated_at": null, "address": "01:03:09:ff:01:01", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "magicfoo", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_190_volume_targets_post_observer [0.075086s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f98b3dbd-e556-44b7-bccd-6900be1b1060 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_191_volume_volume_target_id_get_admin [0.074517s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/709635ce-b2b7-4aa2-8152-231a36277fd2 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cc242bee-9d9d-4e9f-811c-0a5d04a65d7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "709635ce-b2b7-4aa2-8152-231a36277fd2", "created_at": "2025-05-22T18:07:59.923158+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/709635ce-b2b7-4aa2-8152-231a36277fd2", "rel": "self"}, {"href": "http://localhost/volume/targets/709635ce-b2b7-4aa2-8152-231a36277fd2", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_one_matches [0.114481s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service [0.136484s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_192_volume_volume_target_id_get_member [0.071995s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/5887f1ea-c27f-457c-9916-4a27e9eeb5c5 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb3d35b5-4b93-499d-89f4-52aec53f669a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 5887f1ea-c27f-457c-9916-4a27e9eeb5c5 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_308_lessee_reader_can_read_portgroup [0.177124s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/581b1721-bd8d-494d-9ff5-b7d21889a873 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4582a0b2-0b9c-49bd-81ae-83bf6883f07b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "581b1721-bd8d-494d-9ff5-b7d21889a873", "created_at": "2025-05-22T18:07:59.989551+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "links": [{"href": "http://localhost/v1/portgroups/581b1721-bd8d-494d-9ff5-b7d21889a873", "rel": "self"}, {"href": "http://localhost/portgroups/581b1721-bd8d-494d-9ff5-b7d21889a873", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/581b1721-bd8d-494d-9ff5-b7d21889a873/ports", "rel": "self"}, {"href": "http://localhost/portgroups/581b1721-bd8d-494d-9ff5-b7d21889a873/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_root_device_skip_list [0.108640s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_193_volume_volume_target_id_get_observer [0.079100s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/9dc9f96b-6d9b-459c-bba7-8c0b75ff4b0b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a02e294-0ee7-46d8-ba2a-4a0b2825b3e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "9dc9f96b-6d9b-459c-bba7-8c0b75ff4b0b", "created_at": "2025-05-22T18:08:00.070542+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/9dc9f96b-6d9b-459c-bba7-8c0b75ff4b0b", "rel": "self"}, {"href": "http://localhost/volume/targets/9dc9f96b-6d9b-459c-bba7-8c0b75ff4b0b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_automated_network_validate_fail [0.146537s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_size_invalid [0.087195s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_194_volume_volume_target_id_patch_admin [0.081743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/44e20637-e70f-4aa1-976d-72c3f26ecdc6 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ae36f613-63ef-438f-8e83-d1a6c199029e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_309_third_party_admin_cannot_read_portgroup [0.162372s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-504c0925-fb53-4c53-8a7e-2abc81697c5d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_size_string [0.091946s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_195_volume_volume_target_id_patch_member [0.094441s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/0344b4d1-bd89-4245-9c5d-2030a286b85a WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-22150841-8ed7-47ff-8981-de66c946fff2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 0344b4d1-bd89-4245-9c5d-2030a286b85a could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_automated_power_validate_fail [0.132838s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.inspector.hooks.test_root_device.RootDeviceTestCase.test_zero_size [0.058546s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.045287s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_310_owner_admin_can_add_portgroup [0.177298s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/cfd43b75-3e81-4645-bf58-0045491603ab Openstack-Request-Id: req-1b55e2c7-dedb-4461-a31f-310aad777b1b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "cfd43b75-3e81-4645-bf58-0045491603ab", "created_at": "2025-05-22T18:08:00.392291+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "links": [{"href": "http://localhost/v1/portgroups/cfd43b75-3e81-4645-bf58-0045491603ab", "rel": "self"}, {"href": "http://localhost/portgroups/cfd43b75-3e81-4645-bf58-0045491603ab", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/cfd43b75-3e81-4645-bf58-0045491603ab/ports", "rel": "self"}, {"href": "http://localhost/portgroups/cfd43b75-3e81-4645-bf58-0045491603ab/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.044165s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_disable_ramdisk [0.145689s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_196_volume_volume_target_id_patch_observer [0.162208s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/f522083a-fb02-40fd-b3bc-a2e8f65c7793 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3159d701-85ce-41c4-88c8-37c3db0a879d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.044778s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.064628s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_manual_network_validate_fail [0.130740s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_311_owner_service_can_add_portgroup [0.178038s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/4028b437-65f7-472e-9f39-69d5450c3879 Openstack-Request-Id: req-cbfe75c3-8c30-4106-af01-e5551846df03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "4028b437-65f7-472e-9f39-69d5450c3879", "created_at": "2025-05-22T18:08:00.571000+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "links": [{"href": "http://localhost/v1/portgroups/4028b437-65f7-472e-9f39-69d5450c3879", "rel": "self"}, {"href": "http://localhost/portgroups/4028b437-65f7-472e-9f39-69d5450c3879", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/4028b437-65f7-472e-9f39-69d5450c3879/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4028b437-65f7-472e-9f39-69d5450c3879/ports", "rel": "bookmark"}]} {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.060661s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_197_volume_volume_target_id_delete_admin [0.170418s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/ff0822f7-9fb4-450a-b6a0-4a37eee215d6 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-57ac7915-3385-4090-895b-1ececb9d5588 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_manual_power_validate_fail [0.066698s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.103872s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_network_error_fail [0.061935s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_312_owner_manager_can_add_portgroup [0.175567s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/4dd3a965-01e7-44e7-8d71-122e47b72c79 Openstack-Request-Id: req-3cdc27fa-fac0-49d5-b2f9-e1ba3df93bc0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "4dd3a965-01e7-44e7-8d71-122e47b72c79", "created_at": "2025-05-22T18:08:00.736710+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "links": [{"href": "http://localhost/v1/portgroups/4dd3a965-01e7-44e7-8d71-122e47b72c79", "rel": "self"}, {"href": "http://localhost/portgroups/4dd3a965-01e7-44e7-8d71-122e47b72c79", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/4dd3a965-01e7-44e7-8d71-122e47b72c79/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4dd3a965-01e7-44e7-8d71-122e47b72c79/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_198_volume_volume_target_id_delete_member [0.145323s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/1fc2468a-41ff-42c2-bd00-c8f45b5a1baa GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5f4fb82e-9069-4cdb-b39a-746a899548c0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1fc2468a-41ff-42c2-bd00-c8f45b5a1baa could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.108735s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.097272s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_313_owner_member_cannot_add_portgroup [0.158767s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-861d22e7-ad22-4499-916e-caca1eefd021 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_199_volume_volume_target_id_delete_observer [0.161610s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/86f6e1db-b2c7-4742-b1be-15836c4f77b9 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-534a14c4-aa9e-4b91-9d63-e04c865e8c47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_active [0.273194s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.100686s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_fail [0.066026s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_200_nodes_volume_get_admin [0.145086s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-365cf231-5dbe-48d4-bc8b-70a2f72b7782 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_314_lessee_admin_cannot_add_portgroup [0.163377s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e4627d9-e06d-4cf8-a19f-3cacf37be88f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_prepare_service_wait [0.057017s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.106554s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test__do_node_service_steps_fail [0.095907s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.106024s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_continue_node_service [0.040748s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_201_nodes_volume_get_member [0.163064s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7dd33c39-bb38-42e9-88ff-189d2f6edadd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_315_lessee_manager_cannot_add_portgroup [0.175857s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-87b4a809-16ae-4edc-b265-d8b23ea932ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_continue_node_service_no_skip_step [0.043653s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.117511s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_all [0.089869s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_202_nodes_volume_get_observer [0.157718s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68f1d13f-cd63-4681-8229-85f884429342 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.092049s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_316_lessee_member_cannot_add_portgroup [0.180744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-75ab5de6-699a-4457-b70d-ef4b1b81267b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_all_disable_ramdisk [0.123008s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_203_nodes_volume_connectors_get_admin [0.103779s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c327c587-ea5d-4137-956e-9e4b529fc8c0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "b56ebadc-187a-4a36-812e-4c8ca0d1e84b", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/b56ebadc-187a-4a36-812e-4c8ca0d1e84b", "rel": "self"}, {"href": "http://localhost/volume/connectors/b56ebadc-187a-4a36-812e-4c8ca0d1e84b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.097459s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_collect_logs [0.085185s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.057468s] ... ok {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.061125s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_317_third_party_admin_cannot_add_portgroup [0.192292s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44643837-7d50-491e-8cad-36c6b6abc4cb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.047509s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_204_nodes_volume_connectors_get_member [0.164313s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84bd4f20-4f9c-41b0-88e0-61cb0e6b498f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.062214s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.052429s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.055394s] ... ok {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_agent_busy [0.059452s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_automated_first_step_async [0.056823s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.065894s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_318_owner_admin_can_modify_portgroup [0.189547s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a5287fdd-0e4c-4fad-a883-18abf79c1956 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_205_nodes_volume_connectors_get_observer [0.187129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-002e18ec-4109-4561-ba3e-01ec77e3bbf9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "398ca7d2-c07c-48cb-9a86-b37a46e47cc2", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/398ca7d2-c07c-48cb-9a86-b37a46e47cc2", "rel": "self"}, {"href": "http://localhost/volume/connectors/398ca7d2-c07c-48cb-9a86-b37a46e47cc2", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_handles_hold_from_active [0.062010s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.057393s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.084953s] ... ok {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_handles_hold_from_wait [0.093688s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.027531s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.028195s] ... ok {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_manual_first_step_async [0.085244s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_319_owner_manager_can_modify_portgroup [0.237215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3e7a9e57-dd02-48d2-a38a-21fb8912e05d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_206_nodes_volume_targets_get_admin [0.255900s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c1f8a68-b936-41f3-b172-8e8a521e30ca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "1db982a1-ede7-4f1d-8b0a-f4d5ed3b2877", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1db982a1-ede7-4f1d-8b0a-f4d5ed3b2877", "rel": "self"}, {"href": "http://localhost/volume/targets/1db982a1-ede7-4f1d-8b0a-f4d5ed3b2877", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot [0.063193s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot_fail [0.135110s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_320_owner_member_cannot_modify_portgroup [0.206343s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d80fbd6b-f283-4889-9fc3-32261e2843a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_207_nodes_volume_targets_get_member [0.176871s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2d442c18-b4b2-44f7-9e6e-7ee9354ab61b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_next_service_step_oob_reboot_last_step [0.090786s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.339824s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_321_lessee_admin_cannot_modify_portgroup [0.100706s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/5b90f446-5468-41ef-830b-6363269a8f73 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-26e68593-819d-44f7-8b87-d5b528ca2b91 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_servicing.DoNodeServiceTestCase.test_do_node_service_steps_fail_poweroff [0.087286s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.123979s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.061907s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.071239s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_208_nodes_volume_targets_get_observer [0.285622s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac2d76df-db3a-4d3c-b206-291435df99f7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "ce58260a-bef6-424c-8556-60dcd3226d40", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/ce58260a-bef6-424c-8556-60dcd3226d40", "rel": "self"}, {"href": "http://localhost/volume/targets/ce58260a-bef6-424c-8556-60dcd3226d40", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.097732s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.045339s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.107008s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.047333s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.040720s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_209_drivers_get_admin [0.154711s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c35d4115-085b-43ce-9cbe-a6cce3b7e293 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"drivers": []} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.093708s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.046344s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_322_lessee_manager_cannot_modify_portgroup [0.407469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/f831331d-0547-44f9-98cb-510107cbeb86 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-db3f8469-86ed-4fa1-9c46-c44f57a76dfc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.064051s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.064536s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.059986s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_210_drivers_get_member [0.186427s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a104378d-6428-4ad1-8dd6-82bcd5379a58 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.062030s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.095247s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_323_lessee_member_cannot_modify_portgroup [0.186203s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/23064167-657f-40de-9408-58308256e77e WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-40e0c84b-dd76-45c3-bed5-11ba4b2848d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.061532s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.084185s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_211_drivers_get_observer [0.147783s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f291c95f-0f92-4037-a78d-deb145cb41cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"drivers": []} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.101878s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.104591s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.057489s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_324_third_party_admin_cannot_modify_portgroup [0.186446s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/71fabcd5-d1d0-40d8-a584-2478d0d9748e WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2e6d767f-0f52-40f1-94c1-f03cfc8f5c8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 71fabcd5-d1d0-40d8-a584-2478d0d9748e could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.095444s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.098954s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.058147s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_325_owner_admin_can_delete_portgroup [0.179952s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d0f8481e-c426-4008-886d-a6af2ac4cbb1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.048584s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.044447s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.179974s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.044022s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.047502s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.043952s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.114617s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.046595s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_212_drivers_driver_name_get_admin [0.531348s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ed15d45f-6720-4222-9068-2c05d9feac6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_326_owner_manager_can_delete_portgroup [0.262465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e7eb0179-2bfb-4e00-91b7-308e926bca13 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.055728s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.119699s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.067981s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_327_owner_member_cannot_delete_portgroup [0.146778s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2daa5438-2830-457b-be4d-cd6d9e1f270b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.042540s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_213_drivers_driver_name_get_member [0.158759s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9594378e-1411-4433-a535-b132d872c027 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.133294s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.103211s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.105118s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_214_drivers_driver_name_get_observer [0.158437s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4bca6c1-4b98-4e12-ba93-ac64d70e30e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_328_owner_service_can_delete_portgroup [0.193299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a0f8056d-9207-42f9-81f5-7e088b544d24 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.093222s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.071235s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_215_drivers_properties_get_admin [0.142647s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-07b6a7ba-fe67-4002-bafa-370563e35dac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.101060s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.103338s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_329_lessee_admin_cannot_delete_portgroup [0.156358s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/28c4683c-e917-4948-acf7-e06020480faf GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d304f6e3-ce54-4de6-bb86-aee316dc1740 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.048277s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.047447s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.045459s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_216_drivers_properties_get_member [0.149148s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44f2c6ec-b438-4316-85aa-2fa358be3fb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_properties\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.126052s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_330_lessee_manager_cannot_delete_portgroup [0.189417s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/e2aa728b-b087-4e4e-84d6-919f9d4c654d GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f62f6580-0ea9-4d93-b846-639b5f87c719 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.131004s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_217_drivers_properties_get_observer [0.236696s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ba3e3812-dc8b-4f6f-8737-8088518ac08b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.144130s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_331_lessee_member_cannot_delete_portgroup [0.267654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/cadd2913-c9bd-4386-9306-55321289f866 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b97cc78a-6caa-4ae3-9d56-4ef10e9c836b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.076987s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_admin [0.225305s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2fe4a60e-f4b7-4fda-a37e-a1c1109fd885 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.141338s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.528122s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_332_third_party_admin_cannot_delete_portgroup [0.235994s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/f8104a1e-0a9a-4e1b-a8bd-e25cb9283885 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b9275fc-ed21-4071-97fd-4ef79261da03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup f8104a1e-0a9a-4e1b-a8bd-e25cb9283885 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.099174s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.091980s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.065172s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_member [0.291625s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-72c37610-ce15-4293-bb2c-6885898a3042 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.087239s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.152297s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.172819s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_333_service_cannot_delete_portgroup [0.343139s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/9603d191-7bd6-4a8f-9db1-92ab1db9390f GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e2509ae0-cdb8-437f-b045-a1451cf0035c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 9603d191-7bd6-4a8f-9db1-92ab1db9390f could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.136782s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_220_drivers_raid_logical_disk_properties_get_observer [0.253214s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3428edf0-60fb-4376-a53e-7a943ac0f9a3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.133832s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.152541s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.105094s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_admin [0.180375s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-93753d99-22a1-47a0-8521-4aa8e921154b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_334_owner_reader_can_get_node_portgroups [0.281871s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f0bee32-d13d-47fe-a53c-77a9f99b772a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.158523s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_member [0.086653s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a352a099-c093-49a1-a065-eac8f693c1dc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.118171s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait [0.072217s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.146314s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_335_lessee_reader_can_get_node_porgtroups [0.219284s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d251d40f-aea6-4214-b792-5f5d87d414d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "7d08c2ba-b2c3-4baf-af2b-da16d5bb6994", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/7d08c2ba-b2c3-4baf-af2b-da16d5bb6994", "rel": "self"}, {"href": "http://localhost/portgroups/7d08c2ba-b2c3-4baf-af2b-da16d5bb6994", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_223_drivers_vendor_passthru_methods_get_observer [0.169174s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-35cbfb76-56bd-4c53-8d4e-e6dff001bcd0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait_time [0.128646s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.123798s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_steps.ReservedStepHandlerByNameTestCase.test_reserved_step_wait_time_to_long [0.077028s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_336_third_party_admin_cannot_get_portgroups [0.178581s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6e7939dd-414e-4951-ae21-b3e0eee444dc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_224_drivers_vendor_passthru_get_admin [0.165510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2a6d2984-9f30-486b-acd3-f9330c484465 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.132124s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.061436s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.042670s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.036532s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.096845s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_225_drivers_vendor_passthru_get_member [0.152688s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1f7c1f8b-aab9-4846-a927-725fe81569c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.041633s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_337_service_cannot_get_portgroups [0.168858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fac0beba-2b42-44f7-bf57-72349b9d65a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.039224s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.041908s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance [0.132455s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.034984s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.027247s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_226_drivers_vendor_passthru_get_observer [0.158964s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ead9a3f5-e71d-4426-badf-93fc0e6e0cb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.036061s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_338_owner_reader_can_list_ports [0.194338s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7033d959-6c6a-4c98-a06b-41431d4cb830 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}, {"uuid": "389ebab7-ac90-4e17-b815-3bd59171947b", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/389ebab7-ac90-4e17-b815-3bd59171947b", "rel": "self"}, {"href": "http://localhost/ports/389ebab7-ac90-4e17-b815-3bd59171947b", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.030235s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.037799s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_active [0.170738s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.040457s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.028903s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.028615s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_227_drivers_vendor_passthru_post_admin [0.203501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4d082948-212d-4d54-8baf-fc023cffc732 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_339_owner_service_can_list_ports [0.189940s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62d08c59-f080-420f-b0d7-7bb99349a23b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}, {"uuid": "0a759a90-4bdc-4642-bc3a-251c4b0a92c5", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/0a759a90-4bdc-4642-bc3a-251c4b0a92c5", "rel": "self"}, {"href": "http://localhost/ports/0a759a90-4bdc-4642-bc3a-251c4b0a92c5", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.047326s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.035136s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.187438s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.044833s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.041408s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_228_drivers_vendor_passthru_post_member [0.162832s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f17fa212-a012-468f-82a4-101b5d07e966 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_340_lessee_reader_can_list_ports [0.167141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bbff13a9-7811-45f1-aa34-9b6a9ecb5606 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "55ced9cf-f450-44ce-a141-e4a781cdb70c", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/55ced9cf-f450-44ce-a141-e4a781cdb70c", "rel": "self"}, {"href": "http://localhost/ports/55ced9cf-f450-44ce-a141-e4a781cdb70c", "rel": "bookmark"}]}]} {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.047326s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_no_token_info [0.037363s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.177673s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_utils.GetTokenProjectFromRequestTestCase.test_returns_project_id_if_present [0.041739s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_229_drivers_vendor_passthru_post_observer [0.149662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0cdcc191-7cfc-4254-b5c0-ab9aaa71663c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_341_third_party_admin_cannot_list_ports [0.160074s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb8a8ec9-e53d-419f-84cd-e285106639bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.090697s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_lenovo [0.124646s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.064860s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_230_drivers_vendor_passthru_put_admin [0.142660s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b59e5408-180a-4c72-8bda-9ca36ca276df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.069759s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_342_owner_reader_can_read_port [0.170381s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a7acd8ca-1e56-42fd-82af-aef794c0baf7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2025-05-22T18:08:06.801223+00:00", "updated_at": null, "address": "00:00:00:00:00:01", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "portgroup_uuid": null} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.161325s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.072314s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_231_drivers_vendor_passthru_put_member [0.155421s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b514890b-d422-468c-834e-8cd67dd23cfe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.097549s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_343_owner_service_can_read_port [0.172594s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-89ffae55-0351-4489-87da-5c283432d36c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2025-05-22T18:08:06.983498+00:00", "updated_at": null, "address": "00:00:00:00:00:01", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "portgroup_uuid": null} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.157344s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_232_drivers_vendor_passthru_put_observer [0.133267s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-de38e010-ad63-417c-b49b-279d22e93eac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {1} ironic.tests.unit.conductor.test_utils.ServiceUtilsTestCase.test_wipe_service_internal_info [0.065046s] ... ok {1} ironic.tests.unit.conf.test_conductor.ValidateConductorAllowedPaths.test_abspath_validation_bad_path_raises [0.036659s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_344_lessee_reader_can_read_port [0.121765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1acd578c-feb5-432f-a898-827ba4761c1e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-38e9296e-68b5-4e77-adbb-9c15bcaa5e41 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1acd578c-feb5-432f-a898-827ba4761c1e", "created_at": "2025-05-22T18:08:07.152408+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1acd578c-feb5-432f-a898-827ba4761c1e", "rel": "self"}, {"href": "http://localhost/ports/1acd578c-feb5-432f-a898-827ba4761c1e", "rel": "bookmark"}], "portgroup_uuid": null} {1} ironic.tests.unit.conf.test_conductor.ValidateConductorAllowedPaths.test_abspath_validation_good_paths [0.055737s] ... ok {1} ironic.tests.unit.conf.test_conductor.ValidateConductorAllowedPaths.test_abspath_validation_good_paths_trailing_slash [0.034000s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_233_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.177394s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_345_third_party_admin_cannot_read_port [0.081646s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-30a9dbee-5548-47e8-a9c9-237868696c02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port abfd8dbb-1732-449a-b760-2224035c6b99 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__container_name [0.066033s] ... ok {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__container_path [0.050975s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_346_owner_admin_can_add_ports [0.098277s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-86abbb52-2cb3-4cd5-a977-823a356dabe5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__host_port [0.043798s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.175039s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_234_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__reload [0.060825s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_347_owner_manager_can_add_ports [0.124772s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9becd1c7-7795-42ee-9e0c-f3a66db91b6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__start [0.042929s] ... ok {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__stop [0.055405s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_348_owner_admin_cannot_add_ports_to_other_nodes [0.130774s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '573208e5-cd41-4e26-8f06-ef44022b3793', 'address': '09:01:02:03:04:09'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c134bedb-8a45-441e-866c-d55ceb4615b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__unit_name [0.061806s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.182827s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_235_nodes_bios_get_admin [0.172715s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b363c9e3-d981-404c-9ed7-a61f6c625f1d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"bios": [{"created_at": "2025-05-22T18:08:07.568382+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test__write_container_file [0.057614s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_349_owner_manager_cannot_add_ports_to_other_nodes [0.107856s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '573208e5-cd41-4e26-8f06-ef44022b3793', 'address': '09:01:02:03:04:09'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dbac0902-1867-47ec-beb7-eaf689a41d76 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test_delete_container_file [0.055801s] ... ok {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test_start_stop_container [0.061577s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_236_nodes_bios_get_member [0.169634s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c270b9c4-8bf5-4056-a629-bb267b403ff3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.container.test_console_container.TestSystemdConsoleContainer.test_stop_all_containers [0.037143s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_350_owner_service_cannot_add_ports_to_other_nodes [0.107470s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '573208e5-cd41-4e26-8f06-ef44022b3793', 'address': '09:01:02:03:04:09'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81908fe7-fafe-4bef-b435-0d41287cf372 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_find_scheme_fail [0.030825s] ... ok {1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_find_scheme_ok [0.021557s] ... ok {1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_find_scheme_priority [0.023562s] ... ok {1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_load_ok [0.020258s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_351_owner_member_cannot_add_port [0.105420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-38c75d4d-83ce-442d-a9ee-a94f941f6d5a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.rfb.test_auth.RFBAuthSchemeListTestCase.test_load_unknown [0.027079s] ... ok {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_client_auth_invalid_fails [0.026107s] ... ok {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_exception_in_choose_security_type_fails [0.021791s] ... ok {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_exception_security_handshake_fails [0.023980s] ... ok {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fail [0.022268s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_352_lessee_admin_cannot_add_port [0.117978s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-859c79a7-091d-4ae8-b275-20021e688d6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_237_nodes_bios_get_observer [0.269772s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0b62c10-f739-4ff0-becc-93e29a58e62c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"bios": [{"created_at": "2025-05-22T18:08:07.952145+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fail_server_message [0.026331s] ... ok {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fails_on_host_version [0.024645s] ... ok {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fails_on_sec_type_cnt_zero [0.025799s] ... ok {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_fails_on_tenant_version [0.023681s] ... ok {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_full_run [0.023042s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_353_lessee_manager_cannot_add_port [0.119838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8a3b903f-aba6-45ff-adcd-bf07f6625501 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.securityproxy.test_rfb.RFBSecurityProxyTestCase.test_parse_version [0.024563s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_354_lessee_member_cannot_add_port [0.092435s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-26a8032f-b709-4c87-936f-0f8f0db0f459 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerDBTestCase.test_new_websocket_client_db [0.081263s] ... ok {1} ironic.tests.unit.console.securityproxy.test_websocketproxy.IronicProxyRequestHandlerDBTestCase.test_new_websocket_client_db_instance_not_found [0.068779s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.021345s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_355_third_party_admin_cannot_add_port [0.103259s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b48bd7b6-43ce-436b-bfc2-e8b18613bdfa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_238_nodes_bios_bios_setting_get_admin [0.317256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-10dbf5ea-6cad-430c-9aec-4526b1f9686c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"FAKE_SETTING": {"created_at": "2025-05-22T18:08:08.254243+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.808938s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.046901s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_356_service_can_add_port [0.328593s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4fb4539a-0139-4dab-a98b-cc5ef8798e11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.038608s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_239_nodes_bios_bios_setting_get_member [0.345910s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cfa9bea2-6f96-4bb5-868c-602fd8111f16 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.305227s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.043841s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_357_service_cannot_add_ports_to_other_project [0.096756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-00848dd0-9c64-4a84-b4ad-9083b5f16d6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.033899s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.171627s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_240_nodes_bios_bios_setting_get_observer [0.235103s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff4a3876-1a8d-4133-8df2-64e5d66555d7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"FAKE_SETTING": {"created_at": "2025-05-22T18:08:08.915534+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_358_owner_admin_can_modify_port [0.166140s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1215b4fd-8845-41af-9fce-1dde0ac538c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.260254s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.166448s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_359_owner_manager_can_modify_port [0.142509s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ec109665-5a55-4522-8f2d-930a593ff6f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_241_conductors_get_admin [0.169694s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78d399db-e9f1-4bae-8e8f-fb22c3d41fea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.075229s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.038308s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.158332s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.055414s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_360_owner_service_can_modify_port [0.134243s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-44eed938-f07c-4f95-b281-9ab11e8713b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.035436s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_242_conductors_get_member [0.151534s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4591d916-95aa-4dd1-86fa-fba9c80c86af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.039001s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.033927s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_361_owner_member_cannot_modify_port [0.119846s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5eff63e2-3a3f-481e-a992-2644aaf94fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.146179s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.047043s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.026978s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_243_conductors_get_observer [0.156027s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff08a593-eeb5-4c1e-9bd9-1cc4ae84839d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.030645s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_362_lessee_admin_cannot_modify_port [0.092384s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/61e1afa3-8c7d-4e7b-b656-338c6f6e3035 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-af6b0f7c-2fec-464e-a1cc-1171d7fcc1aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.041438s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.150514s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.040694s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.030572s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_244_conductors_hostname_get_admin [0.150547s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff3789b4-a00e-4b04-acf1-0401e722874f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:08:09.556036+00:00", "updated_at": "2025-05-22T18:08:09.556824+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.042950s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.100874s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_363_lessee_manager_cannot_modify_port [0.182357s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/d13464dd-8622-4d79-8a76-791c887300f2 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a2db8134-3708-4387-bd88-1d7fdeca79dc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.037257s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.061731s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_245_conductors_hostname_get_member [0.138469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed91429b-16a1-4152-adc5-a405d01dcf6b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.103011s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.030813s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.048028s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_364_lessee_member_cannot_modify_port [0.176063s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/2fe54abf-9780-4917-bc7d-4794b425a75a WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2c7caa98-6e2b-4bc6-ab94-fcff3b4ade2b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.031235s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.092335s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.028824s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_246_conductors_hostname_get_observer [0.145176s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-546e1094-4f8a-4bf8-b1b7-623e0821e710 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:08:09.852546+00:00", "updated_at": "2025-05-22T18:08:09.854720+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.031736s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.054904s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.046815s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.046923s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.033167s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.047677s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_365_third_party_admin_cannot_modify_port [0.183128s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/2972e0ea-766a-43e5-b1c7-cb1e3cf07f57 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a7c8351-60fa-45fd-ba67-fdd67cf9eba6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 2972e0ea-766a-43e5-b1c7-cb1e3cf07f57 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.061202s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.048360s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.052141s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.051305s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_247_allocations_post_admin [0.205507s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d91bb17c-0e28-4c3f-94ee-97ae35a1abce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.042879s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.057193s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_366_owner_admin_can_delete_port [0.162031s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-626b69f1-95f5-48ca-a701-3405283750bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.048135s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.057001s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.052011s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_248_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.041966s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.065270s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.031723s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_367_owner_manager_can_delete_port [0.161564s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-812d2823-2e19-4cf1-953f-8e27b6ed5421 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.035287s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.071969s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.034035s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.035921s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.064363s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.037348s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.031609s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_non_local [0.053016s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_368_owner_service_can_delete_port [0.173657s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2a5aa150-f7d9-4699-926e-5de0aae7a347 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.032594s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.051824s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.030925s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.035930s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.065297s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.040281s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.048479s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.040844s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_369_owner_member_cannot_delete_port [0.173165s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a02a9b67-e96d-443c-a2c0-a573f5be9ff4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.033639s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.068822s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.036657s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.048300s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_249_allocations_post_observer [0.553935s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eb10303b-e863-4d73-afe3-3eb44ed51751 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.051439s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_370_lessee_admin_cannot_delete_port [0.171269s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/ec4f7621-fef7-4ecf-86f8-cec4d757d46e GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9383a6ed-a1fb-4a5b-9ee7-ba785d7c8914 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.077106s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_250_allocations_get_admin [0.172244s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f971273-5b18-429c-8949-02050c6d1a82 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "d26fc228-d030-4e26-bf2c-5cbe6ffc5a75", "created_at": "2025-05-22T18:08:10.887646+00:00", "updated_at": "2025-05-22T18:08:10.900551+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d26fc228-d030-4e26-bf2c-5cbe6ffc5a75", "rel": "self"}, {"href": "http://localhost/allocations/d26fc228-d030-4e26-bf2c-5cbe6ffc5a75", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.256368s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.092709s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_371_lessee_manager_cannot_delete_port [0.165468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/508129e5-b658-43c9-ac2b-760e79f54726 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6ca71ac7-0900-45cc-9131-ed10a96741b7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.047935s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.101445s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_251_allocations_get_member [0.151004s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c11c817c-29da-4fbf-a648-095d33c314c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.091275s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_372_lessee_member_cannot_delete_port [0.201276s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/b7eb43aa-35b4-450e-bd66-2054f92081fb GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4def9449-d148-4202-be38-79fafe93602c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.246514s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.101064s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_252_allocations_get_observer [0.171447s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e60cd4c4-7b47-4a2e-b5e4-905470b74be6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "9f8fa719-46e6-4003-96ce-c56097dae6bc", "created_at": "2025-05-22T18:08:11.207102+00:00", "updated_at": "2025-05-22T18:08:11.219457+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9f8fa719-46e6-4003-96ce-c56097dae6bc", "rel": "self"}, {"href": "http://localhost/allocations/9f8fa719-46e6-4003-96ce-c56097dae6bc", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.028223s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_373_third_party_admin_cannot_delete_port [0.154548s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/ccc17c87-5bb9-4f6b-a4eb-d1e25f89dfff GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-26b64ade-7e48-48aa-b30a-4952cdc5f32d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port ccc17c87-5bb9-4f6b-a4eb-d1e25f89dfff could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_253_allocations_allocation_id_get_admin [0.164282s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/a3ab9844-dbaa-4bc3-ad89-32cd63047d1d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2a0df139-3674-4f5c-85da-d1a73a2156ca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a3ab9844-dbaa-4bc3-ad89-32cd63047d1d", "created_at": "2025-05-22T18:08:11.383085+00:00", "updated_at": "2025-05-22T18:08:11.394138+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a3ab9844-dbaa-4bc3-ad89-32cd63047d1d", "rel": "self"}, {"href": "http://localhost/allocations/a3ab9844-dbaa-4bc3-ad89-32cd63047d1d", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.241767s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.229827s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.040213s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.039794s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_374_owner_reader_can_get_node_ports [0.255072s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e4888db6-43f5-4506-9074-b0ba71a5fc2d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.112291s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_254_allocations_allocation_id_get_member [0.169246s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/548c02d7-9f60-4a2c-a656-cbe07cbd378e WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9b2f123d-8689-4f4c-bb40-6b4b3adb93e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 548c02d7-9f60-4a2c-a656-cbe07cbd378e could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.053788s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.079601s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.122819s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.064327s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_255_allocations_allocation_id_get_observer [0.187181s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/1b5e4b62-6fb2-439d-9437-75a9c670959a WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3654879a-e3b6-46a6-a629-99ce4d6cb356 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1b5e4b62-6fb2-439d-9437-75a9c670959a", "created_at": "2025-05-22T18:08:11.758477+00:00", "updated_at": "2025-05-22T18:08:11.763340+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1b5e4b62-6fb2-439d-9437-75a9c670959a", "rel": "self"}, {"href": "http://localhost/allocations/1b5e4b62-6fb2-439d-9437-75a9c670959a", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.040270s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_375_owner_service_can_get_node_ports [0.220672s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-837316a9-390d-4b12-b2b5-926e5f52ac4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}]} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.049278s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.037434s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.031038s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.045266s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_376_lessee_reader_can_get_node_port [0.188380s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-66d33f4f-cdd3-40cb-8999-78c48dcd6f08 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "97244c0b-7ae8-40f8-83eb-fcbc0d482aa3", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/97244c0b-7ae8-40f8-83eb-fcbc0d482aa3", "rel": "self"}, {"href": "http://localhost/ports/97244c0b-7ae8-40f8-83eb-fcbc0d482aa3", "rel": "bookmark"}]}]} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.040577s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_256_allocations_allocation_id_patch_admin [0.294024s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/e776b46c-e170-4db3-ab39-1df875ac4abe WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b544ef4a-b0a5-4a9f-a0f0-910df496fc71 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e776b46c-e170-4db3-ab39-1df875ac4abe", "created_at": "2025-05-22T18:08:11.972512+00:00", "updated_at": "2025-05-22T18:08:12.145204+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e776b46c-e170-4db3-ab39-1df875ac4abe", "rel": "self"}, {"href": "http://localhost/allocations/e776b46c-e170-4db3-ab39-1df875ac4abe", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_377_third_party_admin_cannot_get_ports [0.167029s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b12629dc-8a29-4979-b994-81814a81ad80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_257_allocations_allocation_id_patch_member [0.170453s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/cf96b87f-ec2d-4c5e-8111-6606948393f5 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e6c0b8fa-c371-4844-9071-17572e1ce078 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cf96b87f-ec2d-4c5e-8111-6606948393f5 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.317990s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_378_service_cannot_get_ports [0.158571s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0211e359-3902-4c8f-ab17-f0f508fc2d83 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.027888s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.027843s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.658679s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.029038s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_258_allocations_allocation_id_patch_observer [0.176236s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/347fc9dc-a775-49cd-9d93-5cc5b633b2ac WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b6f7f34b-b937-4340-b980-00a15460a781 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.053592s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.033212s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_379_owner_reader_can_get_ports_by_portgroup [0.187104s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7d919934-fc5e-4b8d-b42d-2f4bff0ee888 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.140136s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.048918s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.027274s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.027374s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_259_allocations_allocation_id_delete_admin [0.186930s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/04bc18d5-bdf8-46cd-9ebd-775d1a418d1b GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c51229fc-ee8d-445d-ac9f-3c94d1dc4deb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.031843s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.023790s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.026204s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_380_owner_service_cam_get_ports_by_portgroup [0.195727s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-41a4e77a-af5c-4fbc-999a-bb0043e24072 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.027315s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.203497s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.035851s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.050341s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_260_allocations_allocation_id_delete_member [0.183595s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/cedd56f2-b713-4ba2-82e6-8e0f41717698 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-474523c8-c2b7-423c-8050-8d105e08375c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation cedd56f2-b713-4ba2-82e6-8e0f41717698 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_381_lessee_reader_can_get_ports_by_portgroup [0.108517s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/1439bb08-1a4b-43ed-ae01-77cc66d28161/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52947f5b-9dbf-47dc-bb27-f0c1acf24470 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.052463s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_382_third_party_admin_cannot_get_ports_by_portgroup [0.087904s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/5810f41c-6585-41fc-b9c9-a94f50d421b5/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cb482e3b-e5da-4554-8f34-82a6f40da8dd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.194015s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.083166s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_261_allocations_allocation_id_delete_observer [0.171191s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/e6b71425-0062-4691-b71b-307a304b86df GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ec6d10e3-0770-41cb-8711-32a548748277 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_383_service_cannot_get_ports_by_portgroup [0.092795s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/5810f41c-6585-41fc-b9c9-a94f50d421b5/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9b30c822-9048-4859-9dd0-b2263047c998 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.067691s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.054079s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_384_owner_reader_can_list_volume_connectors [0.106702s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dd6f814e-c7f9-4712-9fa1-7a7dd7f63097 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "faf5c648-682a-448d-80b3-e58ec9bfca63", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/faf5c648-682a-448d-80b3-e58ec9bfca63", "rel": "self"}, {"href": "http://localhost/volume/connectors/faf5c648-682a-448d-80b3-e58ec9bfca63", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.185804s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_firmware_component_list_after_destroying_a_node_by_uuid [0.075810s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_262_nodes_allocation_get_admin [0.185402s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-18ad986c-4037-4883-8008-f345d6ffa8ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "f95fd206-1e19-4494-8984-e1eb2186c9ce", "created_at": "2025-05-22T18:08:13.126695+00:00", "updated_at": "2025-05-22T18:08:13.138515+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f95fd206-1e19-4494-8984-e1eb2186c9ce", "rel": "self"}, {"href": "http://localhost/allocations/f95fd206-1e19-4494-8984-e1eb2186c9ce", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_385_lessee_reader_can_list_volume_connectors [0.084021s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6f011d0f-ed0b-40a0-9c44-4e9dcddbee20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "cac3b692-132e-4e1c-83ad-9ee44691ccd5", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/cac3b692-132e-4e1c-83ad-9ee44691ccd5", "rel": "self"}, {"href": "http://localhost/volume/connectors/cac3b692-132e-4e1c-83ad-9ee44691ccd5", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.082817s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.162158s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_386_third_party_admin_cannot_get_connector_list [0.092761s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-25db35fa-7e74-43b3-aee7-00a61a50689d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": []} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.074214s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_263_nodes_allocation_get_member [0.178414s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-91ac6e14-8fbd-417e-8553-1e48dec18734 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.043172s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_387_owner_admin_can_post_volume_connector [0.095748s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/21785439-bf6e-41c4-8e9d-4626885b923b Openstack-Request-Id: req-0a559851-6c6e-4e5c-bcef-a3da57f0e976 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "21785439-bf6e-41c4-8e9d-4626885b923b", "created_at": "2025-05-22T18:08:13.461097+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/21785439-bf6e-41c4-8e9d-4626885b923b", "rel": "self"}, {"href": "http://localhost/volume/connectors/21785439-bf6e-41c4-8e9d-4626885b923b", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.059355s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.172967s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_388_owner_manager_can_post_volume_connector [0.086460s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/b9fc702a-50da-4f87-8917-92d385a74c6d Openstack-Request-Id: req-d3f1ad2f-bf54-4497-9051-0f2d119246e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "b9fc702a-50da-4f87-8917-92d385a74c6d", "created_at": "2025-05-22T18:08:13.550847+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b9fc702a-50da-4f87-8917-92d385a74c6d", "rel": "self"}, {"href": "http://localhost/volume/connectors/b9fc702a-50da-4f87-8917-92d385a74c6d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_264_nodes_allocation_get_observer [0.180153s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b6b24cd2-0137-4a8a-9247-125fa1127cd5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "857cb241-2a53-4298-aa2d-c624fe8727da", "created_at": "2025-05-22T18:08:13.498973+00:00", "updated_at": "2025-05-22T18:08:13.503164+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/857cb241-2a53-4298-aa2d-c624fe8727da", "rel": "self"}, {"href": "http://localhost/allocations/857cb241-2a53-4298-aa2d-c624fe8727da", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.090625s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.069099s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_389_owner_service_can_post_volume_connector [0.140047s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/5836225e-a5f1-4cdc-9d81-bedff17f287c Openstack-Request-Id: req-5e6adb95-f7ed-4857-a2a1-1aef797f794c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "5836225e-a5f1-4cdc-9d81-bedff17f287c", "created_at": "2025-05-22T18:08:13.693582+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/5836225e-a5f1-4cdc-9d81-bedff17f287c", "rel": "self"}, {"href": "http://localhost/volume/connectors/5836225e-a5f1-4cdc-9d81-bedff17f287c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.155116s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_265_nodes_allocation_delete_admin [0.097967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e00152eb-cdf2-438b-8ce2-6ee8e8939b20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.071652s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_266_nodes_allocation_delete_member [0.082469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-61dec069-953d-4a2a-a178-a0cf2ff5d4eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.064729s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.151227s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_390_lessee_admin_cannot_post_volume_connector [0.176655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b21fbe00-18d7-43c0-ab25-02e0abb548a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_267_nodes_allocation_delete_observer [0.110558s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e34c4e52-02d3-4f2d-841e-370aad4c158f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.084725s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.072532s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_268_deploy_templates_post_admin [0.102806s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/afce69b8-1e17-4967-bd56-3f940eb879ad Openstack-Request-Id: req-fa84278a-0054-42b1-a84b-2016890f595d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "afce69b8-1e17-4967-bd56-3f940eb879ad", "created_at": "2025-05-22T18:08:14.009161+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/afce69b8-1e17-4967-bd56-3f940eb879ad", "rel": "self"}, {"href": "http://localhost/deploy_templates/afce69b8-1e17-4967-bd56-3f940eb879ad", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.052249s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.208910s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_269_deploy_templates_post_member [0.103454s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d4737c93-78c9-4bf8-84f1-61f17398871e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.080397s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_270_deploy_templates_post_observer [0.096828s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-de6f6298-6a7d-4f53-b21b-ed7148a65274 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.098607s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.192155s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_271_deploy_templates_get_admin [0.088504s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1565ddfc-a087-401c-be13-2a76525b06cb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "528afbcf-655c-4447-8fa4-b26669250968", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/528afbcf-655c-4447-8fa4-b26669250968", "rel": "self"}, {"href": "http://localhost/deploy_templates/528afbcf-655c-4447-8fa4-b26669250968", "rel": "bookmark"}]}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.128691s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_272_deploy_templates_get_member [0.085980s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8326594b-53a0-4bc7-9259-432b2080e3a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.158710s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.082799s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_391_lessee_manager_cannot_post_volume_connector [0.583180s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b470af07-5aa2-43af-9814-43d1ce74dc07 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_273_deploy_templates_get_observer [0.103855s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83b80b3c-1f3c-4079-bb49-e2a21564f705 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "52541b40-56c2-487e-9ead-a4e11f116b3d", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/52541b40-56c2-487e-9ead-a4e11f116b3d", "rel": "self"}, {"href": "http://localhost/deploy_templates/52541b40-56c2-487e-9ead-a4e11f116b3d", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.119129s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.122111s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_admin [0.206009s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/6b3fae29-e285-4b10-8434-7562492c0eb0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f761d76a-4a4d-4d5c-a98f-53afe3108a53 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6b3fae29-e285-4b10-8434-7562492c0eb0", "created_at": "2025-05-22T18:08:14.601552+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/6b3fae29-e285-4b10-8434-7562492c0eb0", "rel": "self"}, {"href": "http://localhost/deploy_templates/6b3fae29-e285-4b10-8434-7562492c0eb0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_ipmi [0.169495s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_392_third_party_admin_cannot_post_volume_connector [0.274593s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b941bcdc-ef3c-4775-9bae-00c56ee22c03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_detect_vendor_redfish [0.111745s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.324234s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_393_service_admin_cannot_post_volume_connector [0.176000s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ca152636-022f-4454-bceb-5db716ea1302 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_member [0.197241s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/37c6a9a5-02dc-42ed-88dd-4424cbe8be80 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5fa3c8e5-b402-407c-972c-f73b65e9768c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.116179s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.056577s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.060870s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_276_deploy_templates_deploy_template_id_get_observer [0.145612s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/b2449e37-7105-4d4c-89f2-9964d706d772 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a01fc246-6133-44ce-b792-481144d960bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "b2449e37-7105-4d4c-89f2-9964d706d772", "created_at": "2025-05-22T18:08:15.011466+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b2449e37-7105-4d4c-89f2-9964d706d772", "rel": "self"}, {"href": "http://localhost/deploy_templates/b2449e37-7105-4d4c-89f2-9964d706d772", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ng_redfish [0.140878s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.068034s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_394_owner_reader_can_get_volume_connector [0.217774s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/33640856-0777-450b-9994-9f88573a9338 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1de0c8b3-6034-490b-a592-0386b7579293 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "33640856-0777-450b-9994-9f88573a9338", "created_at": "2025-05-22T18:08:15.031206+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/33640856-0777-450b-9994-9f88573a9338", "rel": "self"}, {"href": "http://localhost/volume/connectors/33640856-0777-450b-9994-9f88573a9338", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.100760s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok_ipmi [0.159059s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.072296s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_admin [0.253383s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/c3c8323b-d8ee-4cba-a673-659f2dac0bcd WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9c42d3ba-14c1-42bb-99fd-32d82ce25b9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "c3c8323b-d8ee-4cba-a673-659f2dac0bcd", "created_at": "2025-05-22T18:08:15.204381+00:00", "updated_at": "2025-05-22T18:08:15.304459+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/c3c8323b-d8ee-4cba-a673-659f2dac0bcd", "rel": "self"}, {"href": "http://localhost/deploy_templates/c3c8323b-d8ee-4cba-a673-659f2dac0bcd", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_395_lessee_reader_can_get_volume_connector [0.234225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/6cbe0d7b-0f2e-45ba-bb52-2a09d8aea8d0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9f0b3bc9-fbb3-4a90-9857-c20502a59141 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6cbe0d7b-0f2e-45ba-bb52-2a09d8aea8d0", "created_at": "2025-05-22T18:08:15.282147+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/6cbe0d7b-0f2e-45ba-bb52-2a09d8aea8d0", "rel": "self"}, {"href": "http://localhost/volume/connectors/6cbe0d7b-0f2e-45ba-bb52-2a09d8aea8d0", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.077297s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_ipmi [0.119710s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.110869s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_member [0.191839s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/2db275e3-9c7a-4a9c-9c83-96bf87616f4d WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-21ffef35-fd1a-4f87-8c77-806000435ab5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng_redfish [0.117371s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_396_third_party_admin_cannot_get_volume_connector [0.163034s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/d0fbca73-9937-4086-b334-bb8ba2f9dae8 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-06733576-4bb4-4164-8771-16c80391d464 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector d0fbca73-9937-4086-b334-bb8ba2f9dae8 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.119900s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_ipmi [0.112803s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_inventory_get_destroyed_after_destroying_a_node_by_uuid [0.084048s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_279_deploy_templates_deploy_template_id_patch_observer [0.215254s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/dc32038d-e441-4b94-85dc-f0ee1e40ed58 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a7ed995d-fecd-4df2-885a-4e2b5f91992d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_397_lessee_member_cannot_patch_volume_connectors_extra [0.185490s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/9df49c48-e663-499a-90f8-d700c34d50a2 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-827eba19-bf6f-4d29-8012-db765b1d7db5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok_redfish [0.114195s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_inventory_updated_for_node [0.077223s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_node_provision_state_count [0.091495s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_ipmi [0.118021s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_admin [0.152064s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/02171122-9b27-4ee4-b402-127bc61bbce1 GOT Response: 204 No Content Openstack-Request-Id: req-376ff407-c39a-4df9-b813-2f2b506dbdb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_398_owner_admin_can_patch_volume_connectors [0.205933s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/5f644c9e-7efa-406b-bbd4-03612ca1dce7 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a82de2a6-3a9f-4609-bd13-e03f8d9952f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.072673s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices_redfish [0.112321s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.082852s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.068668s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.090710s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_399_owner_manager_can_patch_volume_connectors [0.191202s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/7e341bae-79dc-46c6-8e31-4e00d58c1112 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3a4e655a-ebce-43cc-84a0-651a86360dac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.063527s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_member [0.298013s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/01bde67c-c7cc-4e8d-b551-99793da1825b GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e990517b-9d6f-46a7-8aeb-59f2248ffa6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.109196s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.073467s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_282_deploy_templates_deploy_template_id_delete_observer [0.081302s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/ba764892-4749-426c-989b-ff1e8454bacd GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-40284bdf-929e-4481-8aa7-1c9b2269f372 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_400_lessee_admin_cannot_patch_volume_connectors [0.176021s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/9b2a6f5c-c0ec-439b-b702-634e976216f4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2c2e0417-38f4-41b9-9d0d-ab3a57430234 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.100511s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.089442s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_283_chassis_post_admin [0.089092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/1202a97e-e38f-4571-a195-9303575f0dc4 Openstack-Request-Id: req-00ab4b86-036c-42e0-8d5a-13b7300acfc9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1202a97e-e38f-4571-a195-9303575f0dc4", "created_at": "2025-05-22T18:08:16.356948+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/1202a97e-e38f-4571-a195-9303575f0dc4", "rel": "self"}, {"href": "http://localhost/chassis/1202a97e-e38f-4571-a195-9303575f0dc4", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/1202a97e-e38f-4571-a195-9303575f0dc4/nodes", "rel": "self"}, {"href": "http://localhost/chassis/1202a97e-e38f-4571-a195-9303575f0dc4/nodes", "rel": "bookmark"}]]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.066873s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng_ipmi [0.125036s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_284_chassis_post_member [0.099988s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c8feb9eb-680f-467a-b4a5-b112618f190e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_401_lessee_manager_can_patch_volume_connectors [0.209872s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/4716dfe8-a642-4b9a-a1be-d1659305df12 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d6000db2-8655-418e-bf64-aa0196009503 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_285_chassis_post_observer [0.075817s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-017f4562-c2ec-40ee-bd5b-685e32faac4a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_286_chassis_get_admin [0.077334s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6b183c2-a3fa-4b12-9153-b827c781d935 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_402_owner_member_can_patch_volume_connectors [0.185127s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/fdef29f5-c924-4eb7-91e8-ca02139a2dc5 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-02e698e2-2146-4213-affe-f3b9b206ecbb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_287_chassis_get_member [0.094765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fac33f09-f279-46c7-8e77-045d906f4cfa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_288_chassis_get_observer [0.085876s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-914d566c-2949-40c3-b8d7-5f53d1a63c27 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios_ipmi [0.384404s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_289_chassis_detail_get_admin [0.071030s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e510ee5e-6009-4a22-be6a-0fb619814fb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:08:16.847743+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.475752s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_403_lessee_member_cannot_patch_volume_connectors [0.182027s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/24019c89-1e21-4b08-826f-5460be37555d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f2e0f64d-2943-4a2c-a318-87ca217c2b41 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_290_chassis_detail_get_member [0.075769s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-58da3005-3956-4e6c-b58b-c18572a8d561 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.068492s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_291_chassis_detail_get_observer [0.073924s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c468c3ae-6b86-46cf-83af-6306587511f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:08:16.995754+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.084972s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_404_third_party_admin_cannot_patch_volume_connectors [0.185288s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/7b79601b-f0e3-431d-82d4-996a86b478d2 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6e2399df-3ade-4a9f-afe0-a346cc07a8b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 7b79601b-f0e3-431d-82d4-996a86b478d2 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_292_chassis_chassis_id_get_admin [0.089467s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40843083-fc7d-4fa3-b025-a4e09e6f7e68 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:08:17.092230+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node_reads_reservation_once_sqlite [0.059229s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_405_owner_admin_can_delete_volume_connectors [0.095387s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/b75ce70e-e66e-45b1-824c-84ab65cab8ad GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-24389b2e-bec7-4dce-9d5f-444201352c3e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_293_chassis_chassis_id_get_member [0.080559s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c2dc019-17d2-4b77-87be-a32fcb66d595 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node_reads_reservation_twice [0.085742s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom_ipmi [0.407760s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_294_chassis_chassis_id_get_observer [0.093607s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f8bad5ba-dfa6-44b2-b7b2-70aa9ae73c95 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:08:17.256932+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.094851s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_406_owner_manager_can_delete_volume_connectors [0.139483s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/555f712f-9eac-455f-acc7-09d6383bcf95 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6163daba-2bed-4b08-9b99-4e6bedf34cec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_295_chassis_chassis_id_patch_admin [0.101705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c7c21d70-7595-45b6-aa5f-dc693519ba69 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:08:17.359150+00:00", "updated_at": "2025-05-22T18:08:17.395742+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.105016s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_296_chassis_chassis_id_patch_member [0.068092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f76015b-3f6b-4924-b35c-f11fd91013d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.068137s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_407_owner_service_can_delete_volume_connectors [0.208624s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/0c903e9c-8437-4c67-b1d8-5db96f6d8686 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e48c5372-be4a-4688-8db9-dd72fd7761e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.044386s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_297_chassis_chassis_id_patch_observer [0.088069s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ca985c2b-e1a8-4875-9354-69a46190b4a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.087994s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_298_chassis_chassis_id_delete_admin [0.098005s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content Openstack-Request-Id: req-3a7eb77c-fb56-4b9b-b71d-6e035565280c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk_ipmi [0.473648s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.092066s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_299_chassis_chassis_id_delete_member [0.082619s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3567a2ca-44dd-4ce1-bf0b-5c8db54f5422 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_408_lessee_admin_can_delete_volume_connectors [0.244350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/09295fc3-8ecd-467d-9750-2ac8b3ee9195 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-959b169e-c58d-4760-9043-8e4c0428ce28 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.069722s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_300_chassis_chassis_id_delete_observer [0.084118s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b62fcb5e-7d1d-490e-b5f2-2a9695dcf666 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.077535s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_301_node_history_get_admin [0.099156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6be73fe-cef0-4748-8a7e-780a3d233737 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "05ed076e-01ba-4fb8-a294-37d6dd58edc8", "created_at": "2025-05-22T18:08:17.897662+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/05ed076e-01ba-4fb8-a294-37d6dd58edc8", "rel": "self"}]}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.067949s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_409_lessee_manager_can_delete_volume_connectors [0.218155s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/30d180c0-5b08-4391-9984-b960e1538f50 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-12332d8e-50f4-40c4-82f5-87e8b0c03a22 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at_inspecting [0.065112s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_302_node_history_get_member [0.091270s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6593fc7e-241e-4a3a-b72b-d0740c080ded X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at_inspectwait [0.080053s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_410_third_party_admin_cannot_delete_volume_connector [0.182765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/622ffef7-ac7f-4e43-aa93-bf473884aca0 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6ac50b12-1a53-42e4-8997-582760fc810f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 622ffef7-ac7f-4e43-aa93-bf473884aca0 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_303_node_history_get_observer [0.164331s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7fb8536c-071b-4540-ad52-b51399fd98d2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "247f0ef9-f0f0-4446-bce0-0df45be8cd54", "created_at": "2025-05-22T18:08:18.120258+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/247f0ef9-f0f0-4446-bce0-0df45be8cd54", "rel": "self"}]}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.088158s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe_ipmi [0.472633s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at_inspecting [0.051444s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at_inspectwait [0.043209s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_304_node_history_get_entry_admin [0.131291s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a9c2991e-f545-40c4-a398-66acfb253e4e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb1282b2-188f-4a44-8fbd-f34b199d6eec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a9c2991e-f545-40c4-a398-66acfb253e4e", "created_at": "2025-05-22T18:08:18.299806+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a9c2991e-f545-40c4-a398-66acfb253e4e", "rel": "self"}]} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.036012s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.039564s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.053146s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_411_service_cannot_delete_volume_connector [0.265370s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/543c2447-2d2f-4395-be8e-e226b6f6b1c6 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fe78ed6e-317d-4df2-96bb-b6ad55b9cd3b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 543c2447-2d2f-4395-be8e-e226b6f6b1c6 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_305_node_history_get_entry_member [0.125806s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e819934d-68d0-4b2b-beb6-64b0fb7e07ac WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5f1822d4-bf5f-4f3f-8af9-9856f8f312c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.049864s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.073732s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_306_node_history_get_entry_observer [0.148009s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0e835a7c-cb14-4709-9482-f73bc7d43094 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d61f375-645c-4e93-85ab-e194db04f9fa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "0e835a7c-cb14-4709-9482-f73bc7d43094", "created_at": "2025-05-22T18:08:18.573502+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0e835a7c-cb14-4709-9482-f73bc7d43094", "rel": "self"}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_412_owner_reader_can_get_targets [0.175812s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a675ac3e-8b64-47c8-a01a-4dd4383a8c21 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "14d1cec4-568b-48e3-91e0-e898e5c784e7", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/14d1cec4-568b-48e3-91e0-e898e5c784e7", "rel": "self"}, {"href": "http://localhost/volume/targets/14d1cec4-568b-48e3-91e0-e898e5c784e7", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {2} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.062566s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe_ipmi [0.468495s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.053903s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.043797s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_413_lesse_reader_can_get_targets [0.167483s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac5e8147-c851-4842-adb9-687a62cb0b01 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "c3d62cea-f246-42c3-b79e-8ea57198bdfb", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/c3d62cea-f246-42c3-b79e-8ea57198bdfb", "rel": "self"}, {"href": "http://localhost/volume/targets/c3d62cea-f246-42c3-b79e-8ea57198bdfb", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.031750s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/bad/path WITH {} GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_fail_redfish [0.108885s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_auth_token_info [0.058300s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.046846s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interfase_set_boot_device_success_redfish [0.105834s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_414_third_party_admin_cannot_get_target_list [0.152471s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26bbc4c6-5af4-4721-963d-a2dabc33c3e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": []} {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.043615s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.037020s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_fail [0.097890s] ... ok {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.031317s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b22300df-a5c7-4ed7-825e-6dfd6006965a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.22 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}]} {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.034811s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db306fc0-81ee-4426-8bf6-e6daaa45178a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}]} {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.043897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2fc41a6a-a152-4964-b15a-4e7185f0c028 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}]} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_ipmi_success [0.108985s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_415_owner_reader_can_get_volume_target [0.194640s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/fd46eaa9-2c10-414b-b513-a4ae24373eb3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7443f700-8494-4846-951d-49340c9e674a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "fd46eaa9-2c10-414b-b513-a4ae24373eb3", "created_at": "2025-05-22T18:08:19.068147+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/fd46eaa9-2c10-414b-b513-a4ae24373eb3", "rel": "self"}, {"href": "http://localhost/volume/targets/fd46eaa9-2c10-414b-b513-a4ae24373eb3", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_fail [0.084007s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_redfish_success [0.093708s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_416_lessee_reader_can_get_volume_target [0.177990s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/9649b669-8634-486c-b6fa-8fadbe90e2b3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7b80e57b-0fe5-4857-90f2-a5ccdaccfc85 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "9649b669-8634-486c-b6fa-8fadbe90e2b3", "created_at": "2025-05-22T18:08:19.244017+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/9649b669-8634-486c-b6fa-8fadbe90e2b3", "rel": "self"}, {"href": "http://localhost/volume/targets/9649b669-8634-486c-b6fa-8fadbe90e2b3", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.244500s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bae85bc3-6c73-417b-97e7-b5e984525bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.98"}} {2} ironic.tests.unit.api.validation.test_validators.TestSchemaValidator.test_datetime_format [0.023724s] ... ok {2} ironic.tests.unit.api.validation.test_validators.TestSchemaValidator.test_uuid_format [0.031280s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.040169s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_417_third_party_admin_cannot_get_volume_target [0.168471s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/46781bac-f2f2-42bd-b999-36d41ee2d88a WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-96bc6c23-c2f0-40ed-b94f-c0b54468d4c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 46781bac-f2f2-42bd-b999-36d41ee2d88a could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.041655s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum [0.045232s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_glance [0.033922s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_http_url [0.034005s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_fail_invalid [0.315230s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_https_url [0.024337s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_418_owner_admin_create_volume_target [0.183619s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/453d2c3f-0403-40c7-8e87-d990aa5400f5 Openstack-Request-Id: req-693f208e-732e-47c9-b493-77113b3aec78 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "453d2c3f-0403-40c7-8e87-d990aa5400f5", "created_at": "2025-05-22T18:08:19.671891+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/453d2c3f-0403-40c7-8e87-d990aa5400f5", "rel": "self"}, {"href": "http://localhost/volume/targets/453d2c3f-0403-40c7-8e87-d990aa5400f5", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_not_allowed [0.029600s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_fail_missing [0.060159s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_sha256 [0.028955s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_image_checksum_sha512 [0.025877s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_raise_http_success [0.050734s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_get_checksum_and_algo_no_checksum_file_url [0.020713s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_is_checksum_url [0.021869s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_raise_https_success [0.046557s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_is_checksum_url_file [0.037323s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_verify_http_s_connection_and_fw_ver_success [0.055760s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_is_checksum_url_string [0.026105s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_retries [1.316276s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_419_owner_service_create_volume_target [0.190470s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/151c56ea-cc58-405d-8be0-cea900a94b4a Openstack-Request-Id: req-daef46a3-9fca-4d08-b87b-63e6870e26cc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "151c56ea-cc58-405d-8be0-cea900a94b4a", "created_at": "2025-05-22T18:08:19.861793+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/151c56ea-cc58-405d-8be0-cea900a94b4a", "rel": "self"}, {"href": "http://localhost/volume/targets/151c56ea-cc58-405d-8be0-cea900a94b4a", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_validate_text_checksum [0.021763s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsTestCase.test_validate_text_checksum_invalid [0.027064s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_avoid_repeatedly_resume_cleaning [0.063923s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum [0.026383s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.042220s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_file_not_found [0.023747s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_hashlib_not_supports_algo [0.029698s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.041075s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_mismatch [0.029496s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.051639s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_mixed_case [0.037029s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_420_owner_manager_create_volume_target [0.204362s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 3, 'volume_id': 'test-id'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/a4bccf19-28a9-46cb-9fd1-2af91f43ea0c Openstack-Request-Id: req-4ffff609-e587-4081-a079-eff11b11bdcf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a4bccf19-28a9-46cb-9fd1-2af91f43ea0c", "created_at": "2025-05-22T18:08:20.063480+00:00", "updated_at": null, "boot_index": 3, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a4bccf19-28a9-46cb-9fd1-2af91f43ea0c", "rel": "self"}, {"href": "http://localhost/volume/targets/a4bccf19-28a9-46cb-9fd1-2af91f43ea0c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_mixed_case_delimited [0.026833s] ... ok {2} ironic.tests.unit.common.test_checksum_utils.IronicChecksumUtilsValidateTestCase.test_validate_checksum_mixed_md5 [0.024982s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.092156s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.072532s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.094641s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.061910s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.052017s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.057974s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_421_lessee_admin_create_volume_target [0.249982s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/ecf33008-937d-4f64-9fac-c2b3f1837b43 Openstack-Request-Id: req-3835fbe7-f2cc-459c-9d76-077d2de25dd8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ecf33008-937d-4f64-9fac-c2b3f1837b43", "created_at": "2025-05-22T18:08:20.314843+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/ecf33008-937d-4f64-9fac-c2b3f1837b43", "rel": "self"}, {"href": "http://localhost/volume/targets/ecf33008-937d-4f64-9fac-c2b3f1837b43", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.037285s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_conn_init_failure [0.053601s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.038332s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.033354s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.050453s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.040080s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.062094s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_422_lessee_manager_create_volume_target [0.185392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id3'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/043f7e02-4099-4cf6-914f-984276a50d8c Openstack-Request-Id: req-2b5301f8-9ee9-4af9-bb67-e0319b163b57 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "043f7e02-4099-4cf6-914f-984276a50d8c", "created_at": "2025-05-22T18:08:20.507878+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id3", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/043f7e02-4099-4cf6-914f-984276a50d8c", "rel": "self"}, {"href": "http://localhost/volume/targets/043f7e02-4099-4cf6-914f-984276a50d8c", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.046304s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.134191s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.054344s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.058822s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.062912s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_423_third_party_admin_cannot_create_volume_target [0.176546s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-be704110-0c3d-4ec3-9bbf-55da5e5aba7d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.063130s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.053403s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_conn_init_failure_bad_request [0.069157s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.054303s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.138328s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.065463s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.056265s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.159692s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.054192s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.060917s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.107094s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.059573s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.043840s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.053727s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.174676s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.047817s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.022252s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.020273s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.022716s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_424_owner_member_can_patch_volume_target [0.688192s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/968adf9c-17c8-4d98-ba9a-ffcff519285a WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b8c823fd-e403-4d80-b5dd-306ca0f93879 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.026492s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.042113s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.160265s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.037031s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.061405s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_425_owner_service_can_patch_volume_target [0.192989s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/649ee046-d332-4014-a744-b3335cdedb0c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c880e08c-eafa-4f70-bba0-91d85c311145 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.040942s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.143192s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_retries_without_log_mock [1.757458s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.036645s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.068105s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.138646s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.078446s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_426_lessee_admin_can_patch_volume_target [0.204998s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/a0f671c7-f288-4a08-b4eb-ffeb4411cc22 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8a8a3bc0-58b2-4a4c-854a-52bb9ab9ba96 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.074695s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.144463s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval_not_happen_sqlite [0.285938s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.081793s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.027781s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.031027s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_427_lessee_manager_can_patch_volume_target [0.201574s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/5de4b1af-16d0-4f84-ac51-59fef667ca44 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-68178f8a-b399-4890-82b3-08aba5b7c8c3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.078026s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.031822s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.129086s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.028022s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_symlink [0.027624s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.029874s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.088381s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.023212s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_blocked_path [0.032758s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.153712s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_428_lessee_member_cannot_patch_volume_target [0.173542s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/a6ae624f-4ec1-4faa-8c20-af0c24478f1c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2767bc79-f281-49b8-ad15-e98f72dcc011 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_empty_allowlist [0.023064s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_in_allowlist [0.022465s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.102344s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_not_in_allowlist [0.021426s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.020871s] ... ok {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test__validate_url_is_specific [0.022638s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.086153s] ... ok {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test__validate_url_is_specific_bad_format [0.022839s] ... ok {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test__validate_url_is_specific_not_specific [0.022089s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.181139s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_429_third_party_admin_cannot_patch_volume_target [0.187498s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/51d6d549-9e70-4fc0-a2d3-d31edaab3a2a WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a58a0168-bb70-4706-ac49-83517e8e20ee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 51d6d549-9e70-4fc0-a2d3-d31edaab3a2a could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.070404s] ... ok {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_download_direct_manifest_reference [0.056483s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.072060s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_download_direct_manifest_reference_just_digest [0.034848s] ... ok {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_identify_specific_image [0.026038s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_with_description [0.081267s] ... ok {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_identify_specific_image_aarch64 [0.029080s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.077307s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_identify_specific_image_bad_manifest [0.035355s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.075710s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_430_service_cannot_patch_volume_target [0.184493s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/ec7afcde-dc6a-4745-895f-9233b3f6e423 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f9bf1917-1ccf-4469-bfc5-c26a4b8f62ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target ec7afcde-dc6a-4745-895f-9233b3f6e423 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_identify_specific_image_local [0.026220s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.079383s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_identify_specific_image_specific_digest [0.026123s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.073606s] ... ok {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_show [0.029478s] ... ok {2} ironic.tests.unit.common.test_image_service.OciImageServiceTestCase.test_validate_href [0.029205s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test__hanlde_zstd_compression [0.027344s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.055331s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test__hanlde_zstd_compression_disabled [0.058680s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.066526s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_431_owner_admin_can_delete_volume_target [0.210722s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/4f391e2e-b2d1-4074-aee4-8c1e5ad94d58 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-72485e59-923f-4ee2-91d1-6b8988896219 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.025829s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.024122s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.059542s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.023535s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.023685s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.053726s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.036963s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.315894s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_auth_data_checksum [0.029329s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.059256s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_432_owner_manager_can_delete_volume_target [0.184905s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/89e1caf3-3113-4fbf-95e7-90f17f4cdc25 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eba000b1-958d-4388-988a-9146e01fe7aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.037247s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.083433s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw_combined_algo [0.034922s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.067010s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw_no_checksum_algo [0.036496s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw_with_checksum [0.029977s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.048113s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.094557s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_with_checksum_mismatch [0.044834s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.031131s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_433_owner_manager_can_delete_volume_target_service [0.200175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/cb84d9fd-5f46-4450-b246-3ea007b45ba3 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cb6b5a72-d821-4b05-ad36-75600308b82e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.077388s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.074253s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.025326s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_gpt [0.028023s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_gpt_backward_compatibility [0.038357s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.075921s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.081634s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.028679s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_gpt_format [0.025341s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_iso [0.028288s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.086201s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_434_lessee_admin_can_delete_volume_target [0.192940s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/690f8371-6c4c-4df8-9b01-01b23c3110e3 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-08c4122a-8413-4637-9f3e-3d6a35a47421 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.028268s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.115376s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_fails_safety_check [0.030129s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_permitted_format [0.030374s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.083734s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.025382s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.077100s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_safety_check_disabled [0.026909s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.069821s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_safety_check_disabled_fails_to_convert [0.035652s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.069614s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_length [0.026731s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_435_lessee_manager_can_delete_volume_target [0.184682s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/50773eb3-7741-4867-a093-142bcce256d1 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7f6dd192-5b85-4e5a-b870-1c5ff89ecbc4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_content_type [0.023057s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.064500s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_other_error [0.023260s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.076412s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_redirect [0.026422s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.055284s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_returns_none [0.029304s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.062590s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_source_a_path_simple [0.022873s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_explicit [0.024778s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.084294s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.062208s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_436_owner_member_cannot_delete_volume_target [0.176170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/1dc0790e-d8bb-4220-94b9-f252b7ac102d GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6b9de1ca-235c-4b3b-8722-5c83f0810659 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.055516s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.068304s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.085134s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.092976s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_437_lessee_member_cannot_delete_volume_target [0.189702s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/52e8184f-3cca-428c-98f0-08c15cab1cb0 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5829a78a-7fb8-44dc-9cd7-b35181ceea38 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.090678s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.125459s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.071785s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.353993s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.039337s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_438_third_party_admin_cannot_delete_volume_target [0.173788s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/61af19b1-2ece-4caa-924d-c0f8b7123000 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c984d5e0-6b3b-47d6-a781-3af5fa65d00a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 61af19b1-2ece-4caa-924d-c0f8b7123000 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.049728s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.112523s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.040086s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.029124s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image_with_type [0.043378s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.060803s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.043572s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.051434s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_no_match [0.042801s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_439_service_cannot_delete_volume_target [0.173599s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/44c86af7-fb6e-487c-9d82-c2c612094a71 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e1aa5db4-ab6c-4643-babf-f1e3287a020c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 44c86af7-fb6e-487c-9d82-c2c612094a71 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.090328s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.065873s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_with_match_multi [0.084002s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image_oci [0.060667s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.124648s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.054598s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_shard_with_match_single [0.103497s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.066207s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.083710s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_440_owner_reader_can_get_volume_connectors [0.254744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88fbc162-9e1a-4d79-955a-422ebedf6808 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.087139s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_all_conditions_fail [0.129739s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.087167s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.109554s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.074384s] ... ok {2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_ironic_exception [0.134258s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_441_owner_service_can_get_volume_connectors [0.210950s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb7a5b3d-f9a7-4142-a03e-ea36bd96e3f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create [0.054620s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.117921s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create_duplicate_name [0.063467s] ... ok {2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_no_rules [0.124504s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.086571s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_some_conditions_pass [0.106420s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_442_lessee_reader_can_get_node_volume_connectors [0.204795s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f0884df-77d2-45bf-b8b3-0045cb956a88 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "7e539b57-27b4-4a1c-9ea3-a0759cf7c11e", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/7e539b57-27b4-4a1c-9ea3-a0759cf7c11e", "rel": "self"}, {"href": "http://localhost/volume/connectors/7e539b57-27b4-4a1c-9ea3-a0759cf7c11e", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.105430s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.071933s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_success [0.117618s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.071179s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_443_third_party_admin_cannot_get_node_volume_connectors [0.196707s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-32ac99ba-bfd1-4eca-94a9-0250708a7a2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.078779s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_with_always_mask [0.153419s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.059669s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.064712s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create_duplicate_uuid [0.513619s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_444_service_cannot_get_node_volume_connectors [0.194510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-32fab42c-41bc-4b35-95fb-f54a6fa3b5d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_with_never_mask [0.148670s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.069267s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create_invalid_step_no_interface [0.074203s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_create_no_steps [0.055142s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.105019s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestApplyRules.test_apply_rules_with_sensitive_mask [0.159477s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_destroy [0.098548s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.074932s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_445_owner_reader_can_get_node_volume_targets [0.245828s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de7302ef-0039-4f35-a572-57344e34042d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_by_id [0.070630s] ... ok {2} ironic.tests.unit.common.test_inspection_rule.TestInterpolation.test_variable_interpolation [0.092498s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.086703s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_by_name [0.068828s] ... ok {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_get_method_masked [0.067081s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.068262s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_getitem_masked [0.068210s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_446_owner_service_can_read_get_node_volume_targets [0.194160s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0786fb35-5822-4114-8d8a-293dbe18f4a7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_by_uuid [0.064796s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.093922s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_getitem_not_masked [0.075775s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_list [0.081099s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.076030s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_items_masked [0.056095s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_list_by_names [0.083158s] ... ok {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_list_masking [0.060041s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_447_lessee_reader_can_get_node_volume_targets [0.213051s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4c16bcf3-e58b-4a99-a9b2-cfbfd0bf54ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "aaa11b65-fe39-4991-b91b-b6b88c7c83f0", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/aaa11b65-fe39-4991-b91b-b6b88c7c83f0", "rel": "self"}, {"href": "http://localhost/volume/targets/aaa11b65-fe39-4991-b91b-b6b88c7c83f0", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.087666s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_list_by_names_no_match [0.066898s] ... ok {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_modifying_dict [0.066058s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.087971s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_get_runbook_list_sorted [0.075235s] ... ok {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_nested_dict_masking [0.069485s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_duplicate_name [0.065763s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_448_third_part_admin_cannot_read_node_volume_targets [0.178595s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a075583e-e6e1-4ab8-85e5-f55f83e00134 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.084256s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_set_mask_enabled [0.060982s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_extra [0.075396s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.083963s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_inspection_rule.TestShallowMask.test_values_masked [0.070877s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_name [0.059029s] ... ok {2} ironic.tests.unit.common.test_mdns.ParseEndpointTestCase.test_resolve [0.045012s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_449_service_cannot_read_node_volume_targets [0.169754s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5eed5d4c-95dd-4368-a3d2-cdd7db86aa29 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_mdns.ParseEndpointTestCase.test_simple [0.042010s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_not_found [0.065889s] ... ok {2} ironic.tests.unit.common.test_mdns.ParseEndpointTestCase.test_simple_https [0.046183s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_steps_add [0.057726s] ... ok {2} ironic.tests.unit.common.test_mdns.ParseEndpointTestCase.test_with_path_and_port [0.042293s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_steps_remove_all [0.073835s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_450_owner_reader_cannot_get_drivers [0.153553s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b2ddfee3-6110-4108-89ed-b2108fcaea1c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_mdns.RegisterServiceTestCase.test_failure [0.118262s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_steps_replace [0.081524s] ... ok {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_steps_replace_args [0.073314s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_451_lessee_reader_cannot_get_drivers [0.173897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2906b64f-712e-4204-a893-ddf009826ece X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_mdns.RegisterServiceTestCase.test_ok [0.127524s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.469924s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_runbooks.DbRunbookTestCase.test_update_uuid_not_allowed [0.055021s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.073860s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.060411s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.064815s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_452_third_party_admin_cannot_get_drivers [0.178289s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-af38af3b-1337-4865-aed4-28ae07f1d6dc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.071696s] ... ok {2} ironic.tests.unit.common.test_mdns.RegisterServiceTestCase.test_with_interfaces [0.188698s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.085756s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.087128s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.064762s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.107696s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.094073s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_453_service_cannot_get_drivers [0.259472s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-bbbf5ca0-13f9-482c-9549-dadd06a67c41 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_mdns.RegisterServiceTestCase.test_with_params [0.248948s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.109005s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.055603s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.150733s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_454_owner_reader_cannot_get_drivers_vendor_passthru [0.172791s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-829f1292-1226-414f-a24c-1f84d3a6abe5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.093248s] ... ok {2} ironic.tests.unit.common.test_mdns.RegisterServiceTestCase.test_with_race [0.208351s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.114403s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_455_lessee_reader_cannot_get_drivers_vendor_passthru [0.149207s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-75f4ff28-8444-482f-add8-04b8f8ddcebe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.128467s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.134359s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.210378s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.123503s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_456_third_party_admin_cannot_get_drivers_vendor_passthru [0.186793s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a9de1304-5cfa-4fd7-a494-ea9e008185de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.111863s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.112397s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.095697s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_457_service_cannot_get_drivers_vendor_passthru [0.081620s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d785dd65-31d1-4c91-8803-03cd332f3962 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.077396s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_with_disable_power_off [0.134511s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.112219s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_458_owner_reader_can_get_bios_setttings [0.097770s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95a27ece-ab8e-480b-b538-15886c7c38c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"bios": []} {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.063251s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.056894s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.098545s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_459_lessee_reader_can_get_bios_settings [0.086947s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f9cadda-db17-4489-a04c-b0cfa0b41e4f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"bios": []} {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.134810s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.071002s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_460_third_party_admin_cannot_get_bios_settings [0.084982s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2f48c8fe-1065-4030-ac7a-aaaf79531404 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.103592s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.057797s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.116173s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.058289s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_461_service_can_get_bios_setttings_owner_project [0.111584s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ba6fe65-cd68-43b7-ad76-2f546de03d80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"bios": []} {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.110525s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.096865s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.130212s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.105212s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.114336s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.126718s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.110375s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.162729s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.103348s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.162419s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.158615s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.133431s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_462_service_cannot_get_bios_setttings [0.542436s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-93689582-67c3-4786-8d0d-8051bfea5378 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.104961s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.131322s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_463_owner_reader_cannot_get_conductors [0.152129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7a769a96-e215-42eb-b90d-39c7c5988d47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.128447s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.283156s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.158131s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.022699s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.026945s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.072642s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.024718s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.020540s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.063312s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.026511s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.049329s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_464_lessee_reader_cannot_get_conductors [0.189918s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0025b7f0-4cb8-4336-8508-2486d9d15a65 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.041011s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.188087s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.047843s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.050148s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.101967s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.066206s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.053024s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_465_third_party_admin_cannot_get_conductors [0.164621s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-11bb548b-b1f5-4548-9446-8fde2845f4f0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.090769s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.050727s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.122619s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.043968s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.069190s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.119050s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.075088s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_466_owner_reader_can_get_allocations [0.187089s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8cfd9277-1c21-414e-9a14-a8ed86446df0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "2bc8cd3d-7704-4cc2-99fc-e388fdd17714", "created_at": "2025-05-22T18:08:29.319043+00:00", "updated_at": "2025-05-22T18:08:29.331591+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2bc8cd3d-7704-4cc2-99fc-e388fdd17714", "rel": "self"}, {"href": "http://localhost/allocations/2bc8cd3d-7704-4cc2-99fc-e388fdd17714", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.110536s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.046175s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_apply_time_attr [0.068405s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.128957s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_insecure_heartbeat [0.117816s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.060741s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_467_lessee_reader_can_get_allocations [0.185659s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c7b47113-bae3-40f7-9df3-83bab640be72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "18836f85-e38b-4252-9f89-2ddfa20b7b2d", "created_at": "2025-05-22T18:08:29.522803+00:00", "updated_at": "2025-05-22T18:08:29.529227+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/18836f85-e38b-4252-9f89-2ddfa20b7b2d", "rel": "self"}, {"href": "http://localhost/allocations/18836f85-e38b-4252-9f89-2ddfa20b7b2d", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.063515s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe_source_path [0.131301s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.150570s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.064872s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.107577s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.081089s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.127443s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_468_owner_reader_can_get_their_allocation [0.223285s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/29be6aa0-9620-4bf3-9dd1-681a1c5ff616 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8d686e8e-fe69-4065-ab2c-1a47f48b94d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "29be6aa0-9620-4bf3-9dd1-681a1c5ff616", "created_at": "2025-05-22T18:08:29.697192+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/29be6aa0-9620-4bf3-9dd1-681a1c5ff616", "rel": "self"}, {"href": "http://localhost/allocations/29be6aa0-9620-4bf3-9dd1-681a1c5ff616", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.077732s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.070859s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.080646s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.128587s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.065198s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_469_lessee_reader_can_get_their_allocation [0.175978s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/8e58e35e-d212-49ea-b148-e2eb0d0f213d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b26755e-43a6-48b1-8712-4fed0f97f6e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8e58e35e-d212-49ea-b148-e2eb0d0f213d", "created_at": "2025-05-22T18:08:29.932024+00:00", "updated_at": "2025-05-22T18:08:29.939465+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8e58e35e-d212-49ea-b148-e2eb0d0f213d", "rel": "self"}, {"href": "http://localhost/allocations/8e58e35e-d212-49ea-b148-e2eb0d0f213d", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.067264s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.122652s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.062576s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.103470s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.315540s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_470_owner_admin_can_delete_their_allocation [0.193240s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/8eeba504-b9e4-444d-b1ad-909cf92ac30a GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-39094b4a-0664-4799-9329-fff6019b985b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.092242s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.062463s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.072920s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.052924s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.153577s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.069305s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.086009s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_471_owner_manager_can_delete_their_allocation [0.174811s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/921817a4-0ffe-4f09-a441-14d0b3392a4a GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-16070cc4-8d10-465c-909f-d18133127e0d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.075667s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_chmod [0.081184s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.141728s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.058862s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.111631s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.067657s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.162181s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_472_lessee_admin_can_delete_their_allocation [0.243644s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/56b46cd2-9d20-43d1-82f8-29e407bff872 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-651c0fc2-32d2-4579-aa44-b592931506d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image [0.048319s] ... ok {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_flags [0.058765s] ... ok {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails [0.038248s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.159537s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries [0.048854s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.193082s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_473_lessee_manager_can_delete_their_allocation [0.202969s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/f39ae1cb-96e6-4dc0-8b53-acf3e995981a GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-79fedab9-3109-46c9-89e9-94ef31cffe03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error [0.052420s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.139691s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails [0.051891s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_474_owner_member_can_delete_their_allocation [0.133157s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/8417ad5c-7e74-4c75-85da-0d432b3fd665 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-83c87384-613e-45a0-81be-4704980112fe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.170228s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.144965s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.069147s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_475_lessee_member_can_delete_their_allocation [0.185721s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/8357e76d-ebc2-4762-910d-59bc7a12b329 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9867fedb-5817-4b57-9784-4a68dc2e0fe0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.145089s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.173486s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.073599s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.116482s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_476_owner_member_can_patch_allocation [0.189703s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/3ecd1180-92e4-405e-894d-008554de4387 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-57259394-87da-4e97-883a-50751ef7018e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3ecd1180-92e4-405e-894d-008554de4387", "created_at": "2025-05-22T18:08:31.232632+00:00", "updated_at": "2025-05-22T18:08:31.317146+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3ecd1180-92e4-405e-894d-008554de4387", "rel": "self"}, {"href": "http://localhost/allocations/3ecd1180-92e4-405e-894d-008554de4387", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.458503s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.128321s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_only_cdrom [0.140087s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_477_lessee_member_can_patch_allocation [0.303074s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/66c5cdc1-1df4-4090-9be6-bf9a1b989923 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2ae32f38-20ea-4251-abc7-58cfe27e1988 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "66c5cdc1-1df4-4090-9be6-bf9a1b989923", "created_at": "2025-05-22T18:08:31.523048+00:00", "updated_at": "2025-05-22T18:08:31.620094+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/66c5cdc1-1df4-4090-9be6-bf9a1b989923", "rel": "self"}, {"href": "http://localhost/allocations/66c5cdc1-1df4-4090-9be6-bf9a1b989923", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_instance_ramdisk [0.104105s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.534078s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_clean_up_ramdisk [0.216751s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.070114s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_478_third_party_admin_can_get_allocations [0.324463s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f2eb316-57a9-449b-986a-7e80524d800e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": []} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_deploy_info [0.122425s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.098635s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.035457s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.035638s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.044117s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_deploy_info_exc [0.124193s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.042164s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_479_third_party_admin_can_create_allocation [0.210733s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-517a6b7e-7c16-4f8d-982a-6fe9efd232da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.863531s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.044449s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_arch_deploy [0.117113s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.071227s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_arch_rescue [0.089303s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.055962s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_480_third_party_admin_cannot_create_allocation_with_owner_node [0.192614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3d937d91-797e-4c03-9198-9f3d7fc441bc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.054491s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_deploy [0.104970s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.051931s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.054096s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_deploy [0.079487s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.037317s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_481_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.183087s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST', 'candidate_nodes': ['1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f']} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a4bdf6f-7668-4f48-8965-1249b5b121b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881, 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.034725s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_rescue [0.083644s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.041110s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.032682s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.031532s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_choose_by_hierarchy_rescue [0.078706s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.050729s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_482_owner_admin_can_create_allocation_with_their_uuid [0.189453s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eb73e9a3-6183-45f1-8bd6-13a41c2cbf0e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_deploy [0.091789s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_clean_step [0.070982s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_verify_step [0.054693s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_exc [0.085540s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.037731s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.043338s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_483_owner_manager_can_create_allocation_with_their_uuid [0.191195s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b05ebe2d-e99d-4c5e-81f6-c0e7ce8867de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_deploy [0.086685s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.037127s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.776077s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.036476s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.084335s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.031089s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.040541s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_484_third_party_admin_cannot_read_an_allocation [0.175388s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/6080a254-a480-4302-867a-a33dcd65bb40 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-080a21d7-0d23-4380-b670-0c09d1525f28 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6080a254-a480-4302-867a-a33dcd65bb40 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_rescue [0.087582s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.046040s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.039861s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.097375s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.071350s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_485_third_party_admin_cannot_patch_an_allocation [0.169914s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/273f0e39-ee29-4ff8-bb16-16e8527f3c9e WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ac38f96-b08a-4587-9ab0-bfee99fc31f0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 273f0e39-ee29-4ff8-bb16-16e8527f3c9e could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.060254s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_iso [0.102238s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_clean_step [0.071064s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_deploy [0.077127s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_verify_step [0.063242s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.054410s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.121239s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.046566s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_486_third_party_admin_cannot_delete_an_allocation [0.256647s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/c9a98cf3-7be7-4ffb-bbe6-d70e44cb4253 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b6aae3f-c2b5-4793-bd40-4b825c0814d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c9a98cf3-7be7-4ffb-bbe6-d70e44cb4253 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.044481s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_rescue [0.094885s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.059358s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_mixed_source_rescue_by_arch [0.063959s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.061161s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_ramdisk [0.041883s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_parse_driver_info_rescue [0.041795s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_487_owner_reader_can_read_node_allocation [0.221952s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1094e2f6-d8b4-4515-ba10-3300b68ac360 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ae39ddb0-e91e-40e5-a900-ba8b7c431e73", "created_at": "2025-05-22T18:08:33.686613+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ae39ddb0-e91e-40e5-a900-ba8b7c431e73", "rel": "self"}, {"href": "http://localhost/allocations/ae39ddb0-e91e-40e5-a900-ba8b7c431e73", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.136053s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_local_boot_option [0.088546s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_local_whole_disk_image [0.071630s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.164033s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_488_lessee_reader_can_read_node_allocation [0.230470s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-03e77af5-f47e-4d1b-a9e9-ef236cdc9bb6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "c4174e88-83a1-4739-8feb-6f6b7f25bce3", "created_at": "2025-05-22T18:08:33.911317+00:00", "updated_at": "2025-05-22T18:08:33.912922+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c4174e88-83a1-4739-8feb-6f6b7f25bce3", "rel": "self"}, {"href": "http://localhost/allocations/c4174e88-83a1-4739-8feb-6f6b7f25bce3", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_normal_boot [0.115129s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.058514s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.070243s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_489_third_party_admin_cannot_read_node_allocation [0.176224s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0303b0df-eaf5-4dfb-9dd6-0cfa5caa78eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot [0.159624s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.090047s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.096794s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_490_owner_admin_can_delete_allocation [0.167695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a9c76a7d-3c8f-4760-92d5-37ac93919938 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_object_fails [1.399321s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.198300s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.102296s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_491_owner_manager_can_delete_allocation [0.176078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dfc49697-47fa-4905-bda1-393eec08325c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.115037s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.111926s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_492_lessee_admin_can_delete_allocation [0.168235s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a79e7e75-a5ac-4765-8b28-b44da5dc5988 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.096401s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data [0.386494s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.114887s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_493_lessee_manager_not_delete_allocation [0.192197s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-45ce5448-4ab7-4b94-8071-ce02760e54b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.059518s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.052886s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_494_third_party_admin_cannot_delete_allocation [0.145518s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-23ec73cb-e923-4bea-9f96-e14ed67ebe60 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.054103s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.051807s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.059532s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data_create_container_fails [0.398175s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_495_owner_reader_cannot_get_deploy_templates [0.146834s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c4503cf3-5af4-4404-b5ad-495db18faacb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.807719s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.056328s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.062273s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_496_lessee_reader_cannot_get_deploy_templates [0.140744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eaa05d3a-5e4f-49fe-904f-d90cb2ce9893 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.059870s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.055640s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.230695s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_497_third_party_admin_cannot_get_deploy_templates [0.159075s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-379c6925-6f7d-492e-99e6-6666f2fe0b57 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_fast_track [0.058885s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_no_debug [0.066332s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_prepare_ramdisk_with_params [0.077068s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_boot_iso [0.044360s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_correct_vendor [0.040276s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_errors_with_lack_of_support [0.050266s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_inspection [0.043273s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_kernel_ramdisk [0.052239s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_from_data_create_object_fails [0.752910s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_local [0.049985s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishHTTPBootTestCase.test_validate_missing [0.041850s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.640436s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.094518s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.080248s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.106930s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.091619s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.074404s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_498_third_party_admin_cannot_post_deploy_template [0.802344s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-70482e9f-a1d4-4f35-8ef0-0661d47c7885 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.382781s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.156728s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.207962s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_controller [0.091747s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_controller_no_controllers [0.060388s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_first_controller_controllers [0.032030s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_499_service_cannot_get_deploy_templates [0.310840s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bafee9e3-47c2-4369-b57a-ae9a4fbb1d53 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_first_controller_empty [0.031538s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_first_controller_storage_controllers [0.032233s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.051590s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.291539s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.033131s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.046953s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.516053s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.185282s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_500_service_cannot_post_deploy_template [0.307925s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9fb43f14-84d4-4b3c-8847-9e3fd208d71f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.162246s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.336678s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_501_owner_reader_cannot_access_chassis [0.225665s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-97d4879c-5391-4d8b-9bcc-bc74ac9eb625 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.038631s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.062802s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.069544s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.237084s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_502_lessee_reader_cannot_access_chassis [0.198780s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-86badde9-c11a-4d35-b41a-ced3f086eaa2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.074087s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.061767s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.038074s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.139690s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_503_third_party_admin_cannot_access_chassis [0.134996s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-73bec17e-43ed-451d-bef8-28b30ce9179e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.039458s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_504_third_party_admin_cannot_create_chassis [0.075909s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0b905694-bfc6-4001-91cd-0eceb9d48b66 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.057048s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.131439s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.060496s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_505_service_cannot_access_chassis [0.084937s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2cd4f506-fb6b-4be9-8cb8-f5180fd4fa8d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.068523s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_506_service_cannot_create_chassis [0.072570s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c2edee1f-a485-43f8-a065-3f7c44f4e7ee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.066875s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.174721s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_507_node_history_get_admin [0.079410s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-efe4b045-e5ad-45db-94ba-4a35b477c1d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "ff92a31f-2899-463c-8b88-7e242087c46c", "created_at": "2025-05-22T18:08:37.766189+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/ff92a31f-2899-463c-8b88-7e242087c46c", "rel": "self"}]}]} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.078106s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [1.027519s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.106252s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_508_node_history_get_member [0.107624s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d03ee57-f4e3-4e71-a27c-1ad0eeaf05e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "1a3a1d2c-3547-4ae0-ae1f-e30dd37b3702", "created_at": "2025-05-22T18:08:37.843131+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/1a3a1d2c-3547-4ae0-ae1f-e30dd37b3702", "rel": "self"}]}]} {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.046624s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.135622s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.053488s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.060611s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_509_node_history_get_reader [0.186596s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-287719a0-b534-4c53-a151-bbdc096a0ef0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "dbeffaa0-fd67-4abe-bcb5-d21979d29931", "created_at": "2025-05-22T18:08:37.996414+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/dbeffaa0-fd67-4abe-bcb5-d21979d29931", "rel": "self"}]}]} {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.074924s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.057855s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_510_node_history_get_service [0.174285s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-643f3922-705c-4abc-b9c7-79d9b4eec839 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "dacccdc1-a275-4173-af94-714a75b219aa", "created_at": "2025-05-22T18:08:38.203737+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/dacccdc1-a275-4173-af94-714a75b219aa", "rel": "self"}]}]} {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.099146s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.384252s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.115536s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_511_node_history_get_service_cannot_be_retrieved [0.164110s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-992b2796-7693-4a57-bcbd-005ae509bfee X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.117710s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.093950s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.056249s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.703799s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_512_node_history_get_entry_admin [0.156219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/39b96a2e-a3ca-4096-aa7b-8248a14d9e2c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9db7e2d0-dc7b-422c-9388-182c417c34bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "39b96a2e-a3ca-4096-aa7b-8248a14d9e2c", "created_at": "2025-05-22T18:08:38.525461+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/39b96a2e-a3ca-4096-aa7b-8248a14d9e2c", "rel": "self"}]} {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.086217s] ... ok {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.055848s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.103984s] ... ok {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.039406s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.044230s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.099791s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_vnc.VncTestCase.test_get_console [0.059907s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_513_node_history_get_entry_member [0.161891s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/b497f6b5-11fa-4e2c-90ef-79f4c340efa4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a46eaea0-5b61-4da3-8d91-47333bc06e23 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "b497f6b5-11fa-4e2c-90ef-79f4c340efa4", "created_at": "2025-05-22T18:08:38.677062+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/b497f6b5-11fa-4e2c-90ef-79f4c340efa4", "rel": "self"}]} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.085665s] ... ok {2} ironic.tests.unit.common.test_vnc.VncTestCase.test_novnc_authorize [0.075033s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.111175s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.common.test_vnc.VncTestCase.test_novnc_unauthorize [0.043420s] ... ok {2} ironic.tests.unit.common.test_vnc.VncTestCase.test_novnc_validate [0.045393s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.111789s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.110985s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_514_node_history_get_entry_reader [0.173629s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/aec2e05a-d349-4acc-b704-3d715c50f11c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c7816d2b-e929-440e-bb56-8ed02232cba7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "aec2e05a-d349-4acc-b704-3d715c50f11c", "created_at": "2025-05-22T18:08:38.839605+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/aec2e05a-d349-4acc-b704-3d715c50f11c", "rel": "self"}]} {2} ironic.tests.unit.common.test_vnc.VncTestCase.test_novnc_validate_expired [0.047878s] ... ok {2} ironic.tests.unit.common.test_vnc.VncTestCase.test_token_valid_until [0.048266s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.094983s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.101599s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_515_lessee_node_history_get_admin [0.175125s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/ce606a8b-9a32-4cab-8e4e-e6afb175f272/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d9f94c46-0fe5-4f8f-b0f3-6b3d62665ea9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node ce606a8b-9a32-4cab-8e4e-e6afb175f272 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.120336s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.107914s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.189342s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.058183s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.039212s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.073900s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.158296s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.077912s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.104916s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.080500s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_516_lessee_node_history_get_member [0.296511s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/07ae843b-945c-4037-9507-3e64375a5684/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-82ddefa8-0098-4979-a8dc-9dc25898c72c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 07ae843b-945c-4037-9507-3e64375a5684 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.154543s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.091082s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.093071s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.114565s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.073968s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.079885s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.061547s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.116662s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.065917s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_517_lessee_node_history_get_reader [0.299329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/6aa04016-76f1-46d9-b4ef-911fe7b2aa37/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-83ce8f68-9a4e-45af-ad42-2f5067c76800 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 6aa04016-76f1-46d9-b4ef-911fe7b2aa37 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.159691s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.078311s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.071811s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.062732s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.098586s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.025544s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.061491s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_518_lessee_node_history_get_entry_admin [0.251858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/afd865aa-919a-472f-b060-694d1795e2f8/history/63ec443d-319a-42a1-b7a2-f5d7fa4acc5e WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1e954fca-bbb6-4e92-a91b-59196ab05936 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node afd865aa-919a-472f-b060-694d1795e2f8 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.076173s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.121972s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.064062s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_name_match_first [0.083289s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.066792s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.043128s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.067816s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.092944s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.063217s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_519_lessee_history_get_entry_member [0.280085s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/6767242b-2e5a-471d-bc13-f821566f9080/history/7049f825-ba63-42a9-8014-9d081dbc4754 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-66e84e97-8f44-43c5-9945-b701e2316132 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 6767242b-2e5a-471d-bc13-f821566f9080 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.557267s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.056335s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.073772s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.038839s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_520_lessee_node_history_get_entry_reader [0.128175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/d8c12201-ceef-4659-83af-c5a1e1a99657/history/555f0b53-208d-4ec2-80aa-1059ead9864f WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-489996fb-f20c-4d32-bbda-66591d1cbc9e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node d8c12201-ceef-4659-83af-c5a1e1a99657 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.167830s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_521_owner_service_node_history_get_entry_reader [0.078041s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/3d34a444-1e9c-4bfe-a8ed-de19421a7c46 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1215ef59-c6c2-463f-8fb0-f780c3ce56f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3d34a444-1e9c-4bfe-a8ed-de19421a7c46", "created_at": "2025-05-22T18:08:40.417147+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/3d34a444-1e9c-4bfe-a8ed-de19421a7c46", "rel": "self"}]} {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.167205s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.176951s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_522_third_party_admin_cannot_get_node_history [0.071032s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-75f7659f-a3f0-49a7-ac09-5a46e43ec657 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_523_node_history_get_entry_third_party_admin [0.071460s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/83a3f6b2-963a-452c-8353-e22885b0c43b WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d9fbcadd-5f53-4f0e-8fc3-50378f278994 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.174732s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.131496s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_524_node_history_get_entry_service [0.077769s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/1b452ab4-0f6e-463a-a25b-051cb5be9ae9 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1df8b88e-8971-4fa5-ae50-07bd68dcaab0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.197982s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_525_node_inventory_get_admin [0.089787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/inventory WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-857097a3-4235-4c49-a5c9-34302e526dae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.168854s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.164451s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_526_node_inventory_get_member [0.101672s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/inventory WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50d07e58-538e-4647-9934-8164ef2a722a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.115545s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.259547s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_527_node_inventory_get_reader [0.121156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/inventory WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f0b2ba3-ace9-4517-b6df-cbd221420918 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.232429s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_password [0.175660s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_528_lessee_node_inventory_get_admin [0.098705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/03e804e8-4de7-4e0a-8c76-e87196b4b347/inventory WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4d20de17-bc59-4921-a74b-7d2cfb23afbc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 03e804e8-4de7-4e0a-8c76-e87196b4b347 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_529_lessee_node_inventory_get_member [0.077346s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/9a8114e9-4586-4af5-a6c2-6d8e7295491b/inventory WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-75737e8a-41a6-444f-a293-273da82967c1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 9a8114e9-4586-4af5-a6c2-6d8e7295491b could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.139929s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.239253s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_530_lessee_node_inventory_get_reader [0.104236s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/f926ea63-fdec-4fd5-b787-8693b16c6ac7/inventory WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b86f5af1-074d-4408-825d-e57d972bca48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node f926ea63-fdec-4fd5-b787-8693b16c6ac7 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.251633s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.110732s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_531_shard_get_shards_disallowed [0.117472s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-89ab97c9-7219-470d-b5f1-07303ee08b3c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:shards:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.121167s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_532_shard_patch_set_node_shard_disallowed [0.108377s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 WITH [{'op': 'replace', 'path': '/shard', 'value': 'TestShard'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fea963a2-3b0b-4a15-b7ec-b3e54c270248 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:shard\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.286404s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.163488s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_533_parent_node_patch_by_admin [0.206202s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e77d3da2-7256-4c52-abb9-558e65854cf6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_disable_power_off [0.124176s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.143563s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.163708s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.125852s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_534_parent_node_patch_by_member [0.600979s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-90d41b40-78e8-485a-ab8b-a34ca4225d4f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.815666s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.139360s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [1.026718s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.119158s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.132408s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_535_parent_node_patch_by_reader [0.199594s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-41974419-8c15-4ff0-8574-c994ed46d527 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.196930s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.108954s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.165020s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.083916s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_536_parent_node_patch_by_manager [0.208813s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-13132d5a-b9c4-4875-8a65-e8cb79f86eb4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_service_steps [0.109406s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.138389s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.233005s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_537_parent_node_patch_by_cannot_see_node [0.152890s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f WITH [{'op': 'replace', 'path': '/parent_node', 'value': 'f11853c7-fa9c-4db3-a477-c9d8e0dbbf13'}] GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ecaf92e1-bf0e-433f-b25c-6c2f144c174a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unable to apply the requested parent_node. Requested value was invalid.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.105641s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.188500s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.129728s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.234580s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_538_parent_node_children_can_get_list_of_children [0.170743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/children WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8330759b-d210-4dc9-99dd-16a12649480f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"children": ["3c3b8adb-edd7-3ed0-8e82-aab714d8411a"], "links": {"href": "http://localhost/v1/nodes?parent_node=1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "children"}} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.161773s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.201118s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_539_lessee_cannot_get_a_nodes_children [0.182127s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/children WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c6a5027d-69c6-449f-bed9-f9e828d5d052 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.105608s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.285633s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:126: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead hashed_key = self._hash2int(md5(data, usedforsecurity=False)) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.163284s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_540_owner_reader_can_get_firmware_components [0.185230s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/firmware WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-006bf0eb-4e67-4ffb-a784-658fdb80be78 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"firmware": []} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.164743s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.134166s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.172343s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.284266s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_541_lessee_reader_can_get_firmware_components [0.237446s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/firmware WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af30c16a-4132-4f1a-a23f-b65b7ece80d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"firmware": []} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.161409s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.178758s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.206506s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.108280s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_542_third_party_admin_cannot_get_firmware_components [0.204329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/firmware WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e927c026-4745-4807-9de4-3aaf2ca7a01f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_boot_mode.BootModeTestCase.test_boot_mode [0.131628s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.172304s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_memory.MemoryTestCase.test_memory [0.123964s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_543_service_can_get_firmware_components_owner_project [0.183798s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/firmware WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ca64c4c-416c-4e59-80ab-5ebb28b485e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"firmware": []} {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.237788s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.133871s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_added [0.211876s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_544_service_cannot_get_firmware_components [0.209183s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/firmware WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e44e4a5-f271-4d25-92d7-3a66c53351a0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.254122s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_545_runbooks_post_admin [0.201915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/6ed2273b-2902-4465-8d3e-a34e208d3067 Openstack-Request-Id: req-abbc2e3f-4e21-4ff4-9699-7650920053d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6ed2273b-2902-4465-8d3e-a34e208d3067", "created_at": "2025-05-22T18:08:44.446886+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/6ed2273b-2902-4465-8d3e-a34e208d3067", "rel": "self"}, {"href": "http://localhost/runbooks/6ed2273b-2902-4465-8d3e-a34e208d3067", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]} {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_all [0.284365s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.418123s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_546_runbooks_post_manager [0.181060s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/ecc7118e-c420-449a-8074-ee5e7f6a6814 Openstack-Request-Id: req-e38fcd19-a585-41c4-8a85-0e8a4cbe9fbd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ecc7118e-c420-449a-8074-ee5e7f6a6814", "created_at": "2025-05-22T18:08:44.634771+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/ecc7118e-c420-449a-8074-ee5e7f6a6814", "rel": "self"}, {"href": "http://localhost/runbooks/ecc7118e-c420-449a-8074-ee5e7f6a6814", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.079922s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.328510s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_present [0.221165s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.120935s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.093995s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_547_service_post_runbook [0.279483s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/bf6062ea-9729-42ef-87df-e1cf1f392463 Openstack-Request-Id: req-7047d455-d4e8-448d-8b8d-f1cf6db83b14 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "bf6062ea-9729-42ef-87df-e1cf1f392463", "created_at": "2025-05-22T18:08:44.912005+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/bf6062ea-9729-42ef-87df-e1cf1f392463", "rel": "self"}, {"href": "http://localhost/runbooks/bf6062ea-9729-42ef-87df-e1cf1f392463", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]} {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.250313s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.UpdatePortsTestCase.test_keep_pxe_enabled [0.189742s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.099191s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.101558s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_agent.AbortInspectionTestCase.test_cleanup_failed [0.155514s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_548_third_party_admin_post_runbook [0.193797s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/26316120-7aff-4fe4-8395-6e10da7cbe5c Openstack-Request-Id: req-37babfc2-d57b-4df7-b7da-aef0d7d5282a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "26316120-7aff-4fe4-8395-6e10da7cbe5c", "created_at": "2025-05-22T18:08:45.114555+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "ae64129e-b188-4662-b014-4127f4366ee6", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/26316120-7aff-4fe4-8395-6e10da7cbe5c", "rel": "self"}, {"href": "http://localhost/runbooks/26316120-7aff-4fe4-8395-6e10da7cbe5c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]} {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.258064s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.122524s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_agent.AbortInspectionTestCase.test_success [0.119571s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_service [0.060259s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_exception_ignored [0.097430s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.078356s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_549_runbooks_post_public_admin [0.209612s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'public': True, 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bcd393a8-e2ab-45a8-9835-7d064780645a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a public runbook as a project scoped admin.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_check_inspecting [0.061198s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.097508s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_finished [0.068577s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_550_runbooks_post_public_manager [0.160646s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'public': True, 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-37e4c1cf-9a4d-405c-b266-aca9386cd8ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a public runbook as a project scoped admin.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.326359s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_inspecting [0.067588s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.102421s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_not_inspector [0.057544s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.091835s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_clean_up_failed [0.082246s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_551_runbooks_post_public_service [0.170359s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'public': True, 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3d0b46fa-3ca3-4285-83c0-84ee0291d1bf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create a public runbook as a project scoped admin.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.055618s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error [0.063611s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.061344s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.251649s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_disable_power_off [0.072953s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_error_dont_store_inventory [0.090761s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_service [0.063412s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_552_runbooks_patch_admin [0.220286s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/3b66a673-7066-4c33-836a-900241f1cea2 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05261ad4-cb56-42ca-a2a4-0bfbdd3e1a7e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3b66a673-7066-4c33-836a-900241f1cea2", "created_at": "2025-05-22T18:08:45.777898+00:00", "updated_at": "2025-05-22T18:08:45.904218+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/3b66a673-7066-4c33-836a-900241f1cea2", "rel": "self"}, {"href": "http://localhost/runbooks/3b66a673-7066-4c33-836a-900241f1cea2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok [0.091158s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_service_disable_power_off [0.047287s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_store_inventory [0.069398s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.092388s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.285130s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.inspector.test_interface.CheckStatusTestCase.test_status_ok_store_inventory_nostore [0.071123s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.059014s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_553_runbooks_patch_manager [0.216435s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/a40b5a8a-ef0d-4409-b499-a9988fe1dcca WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-93c380ee-57be-4ab3-b638-876ef236e871 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a40b5a8a-ef0d-4409-b499-a9988fe1dcca", "created_at": "2025-05-22T18:08:45.992730+00:00", "updated_at": "2025-05-22T18:08:46.126105+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/a40b5a8a-ef0d-4409-b499-a9988fe1dcca", "rel": "self"}, {"href": "http://localhost/runbooks/a40b5a8a-ef0d-4409-b499-a9988fe1dcca", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.096138s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.076493s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.088032s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.094988s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.243207s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.068417s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_554_service_patch_runbook [0.203656s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/bf3a8260-85a1-4670-9ba1-ed42d023d214 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b70b6806-0ca2-466e-ae1e-82cb15396616 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "bf3a8260-85a1-4670-9ba1-ed42d023d214", "created_at": "2025-05-22T18:08:46.222829+00:00", "updated_at": "2025-05-22T18:08:46.342036+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/bf3a8260-85a1-4670-9ba1-ed42d023d214", "rel": "self"}, {"href": "http://localhost/runbooks/bf3a8260-85a1-4670-9ba1-ed42d023d214", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_image_type [0.062437s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.112740s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.046345s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.056847s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.099364s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_555_project_admin_delete_runbook [0.166454s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/a60f63cc-0c11-4328-b0d5-bb4e3f17d288 GOT Response: 204 No Content Openstack-Request-Id: req-87367a94-70a9-46c2-b15a-708f60c5e072 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.058563s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.101070s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.312664s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.078053s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot ... SKIPPED: bug #2025424 {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_556_project_manager_delete_runbook [0.163179s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/ace41332-55e2-46e3-9fef-b6a7b07561c6 GOT Response: 204 No Content Openstack-Request-Id: req-10340d08-d363-4276-8896-69da80eeac84 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.069232s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.132963s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.072368s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_557_service_get_runbooks [0.173867s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-389e860f-46f9-4783-a47e-328a14bf946a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "6e10877b-70dd-49ee-a194-1d59e15d4840", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/6e10877b-70dd-49ee-a194-1d59e15d4840", "rel": "self"}, {"href": "http://localhost/runbooks/6e10877b-70dd-49ee-a194-1d59e15d4840", "rel": "bookmark"}]}]} {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.092606s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.176375s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.352994s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.138461s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.131531s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_558_runbooks_project_admin [0.194501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8c488f0d-7055-47ca-8736-66a08e45df06 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "12e72483-f075-4bba-beac-135c2c3c1167", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/12e72483-f075-4bba-beac-135c2c3c1167", "rel": "self"}, {"href": "http://localhost/runbooks/12e72483-f075-4bba-beac-135c2c3c1167", "rel": "bookmark"}]}]} {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.055168s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot ... SKIPPED: bug #2025424 {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.055212s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.133269s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.059697s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.250186s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_559_runbooks_runbook_id_get_project_admin [0.192989s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/ec1938f0-a3dc-4236-8a28-1b2bdeec521c WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19155730-f1e1-413b-9b68-f577dc4037d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ec1938f0-a3dc-4236-8a28-1b2bdeec521c", "created_at": "2025-05-22T18:08:47.166160+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/ec1938f0-a3dc-4236-8a28-1b2bdeec521c", "rel": "self"}, {"href": "http://localhost/runbooks/ec1938f0-a3dc-4236-8a28-1b2bdeec521c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.071291s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.120981s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.113608s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_oci_no_checksum [0.128673s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.129220s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_560_project_admin_patch_runbook [0.269309s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/950eb068-e998-4344-b0d2-e8f89eacd734 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ee11fb32-c944-41bc-936b-481d052b1cb0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "950eb068-e998-4344-b0d2-e8f89eacd734", "created_at": "2025-05-22T18:08:47.393656+00:00", "updated_at": "2025-05-22T18:08:47.562171+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/950eb068-e998-4344-b0d2-e8f89eacd734", "rel": "self"}, {"href": "http://localhost/runbooks/950eb068-e998-4344-b0d2-e8f89eacd734", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.143125s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_561_runbooks_project_manager [0.159585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5ac4d893-05c3-4ced-9f26-ce9aafa6360b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "ec606181-2740-49e8-86dc-40bd07aacd6a", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/ec606181-2740-49e8-86dc-40bd07aacd6a", "rel": "self"}, {"href": "http://localhost/runbooks/ec606181-2740-49e8-86dc-40bd07aacd6a", "rel": "bookmark"}]}]} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.206113s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.289400s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_562_runbooks_runbook_id_get_project_manager [0.187133s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/7105d4c3-9547-408e-8f8b-c92d5e215dc8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9294a5d1-4245-4285-b73b-ed649a04b90e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "7105d4c3-9547-408e-8f8b-c92d5e215dc8", "created_at": "2025-05-22T18:08:47.808017+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/7105d4c3-9547-408e-8f8b-c92d5e215dc8", "rel": "self"}, {"href": "http://localhost/runbooks/7105d4c3-9547-408e-8f8b-c92d5e215dc8", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.084258s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.702231s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_basic_auth_success [0.197667s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.109272s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.146462s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_563_project_manager_patch_runbook [0.242293s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/bb59adb0-06ff-41a8-abe2-04ce431827d3 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8d7e2c35-c864-4710-b6e3-67bb998eb632 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "bb59adb0-06ff-41a8-abe2-04ce431827d3", "created_at": "2025-05-22T18:08:47.987682+00:00", "updated_at": "2025-05-22T18:08:48.152913+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/bb59adb0-06ff-41a8-abe2-04ce431827d3", "rel": "self"}, {"href": "http://localhost/runbooks/bb59adb0-06ff-41a8-abe2-04ce431827d3", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_basic_auth_success_blocked [0.144785s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.127971s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.134185s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_564_runbooks_project_member [0.155317s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bae4b913-30ca-440f-9015-85c728603095 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "96debec7-d773-4407-9252-e1c3ef11417b", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/96debec7-d773-4407-9252-e1c3ef11417b", "rel": "self"}, {"href": "http://localhost/runbooks/96debec7-d773-4407-9252-e1c3ef11417b", "rel": "bookmark"}]}]} {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.162772s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_oci_authorization [0.134361s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.176760s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.123495s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_565_runbooks_runbook_id_get_project_member [0.272374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/77da4e69-0120-49ff-ae6b-393a1dae7991 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-751e1682-e8e5-4f0d-ade6-828859551e0b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "77da4e69-0120-49ff-ae6b-393a1dae7991", "created_at": "2025-05-22T18:08:48.442327+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/77da4e69-0120-49ff-ae6b-393a1dae7991", "rel": "self"}, {"href": "http://localhost/runbooks/77da4e69-0120-49ff-ae6b-393a1dae7991", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.628165s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.142950s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.141661s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_566_runbooks_list_project_reader [0.167786s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd8fa37f-2c1c-47fa-b893-28c85a592ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "33c9dfaa-57af-41f6-9a43-c9863a9498f1", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/33c9dfaa-57af-41f6-9a43-c9863a9498f1", "rel": "self"}, {"href": "http://localhost/runbooks/33c9dfaa-57af-41f6-9a43-c9863a9498f1", "rel": "bookmark"}]}]} {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.100667s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.133931s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.138799s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.125078s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_567_runbooks_runbook_id_get_project_reader [0.174483s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/a6e7e03b-0f77-4d91-993f-26027affd2dd WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-befa89f2-002d-400f-89cf-42d31027d8c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a6e7e03b-0f77-4d91-993f-26027affd2dd", "created_at": "2025-05-22T18:08:48.845811+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/a6e7e03b-0f77-4d91-993f-26027affd2dd", "rel": "self"}, {"href": "http://localhost/runbooks/a6e7e03b-0f77-4d91-993f-26027affd2dd", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_fail_elcm_error [0.071350s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.144106s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.167768s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_fail_invalid_json [0.055288s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.113829s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_success_with_200 [0.072432s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.160980s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_check_elcm_license_success_with_500 [0.070625s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_handles_hold_from_active [0.073273s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.131072s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.051092s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_handles_hold_from_wait [0.066143s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.066507s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.118398s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.055736s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.075829s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.167059s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_568_runbooks_list_third_party_admin [0.536549s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-92f1f9d9-1e34-4aec-a3fb-f44c3a6d6438 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": []} {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.125868s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.065315s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.102843s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_irmc_version_fail [0.089679s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_569_project_reader_cannot_post_runbook [0.169911s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dec9a89a-5ca0-4239-9866-7c5fe9e63838 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.148887s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.051165s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_irmc_version_success [0.149688s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.045650s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.053652s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_570_project_reader_cannot_patch_runbook [0.210607s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/7d186dc9-00f7-4c33-ab6c-7e19669e0efc WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-13cbba3c-5ef7-4698-892d-69221b319416 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.056005s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.058588s] ... ok {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.054194s] ... ok {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.054756s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.109677s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_571_project_reader_cannot_set_runbook_owner [0.204265s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/b0936f7a-24b5-4597-b4ce-ea0181858d04 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4d48b769-ecf4-4c3e-af9b-6e49127cf786 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.106183s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.622700s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.144142s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.105278s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_fail_no_match [0.079022s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.BootInstanceTest.test_boot_instance [0.158912s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.101401s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_fail_no_version_set [0.048322s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_572_project_reader_cannot_set_runbook_public [0.238546s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/00f4aa39-db3e-41bf-8766-52d580d4d5c2 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-52100358-1708-4bd8-9bbc-9b88093d920f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_success [0.029024s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_within_version_ranges_success_out_range [0.026466s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.BootInstanceTest.test_boot_instance_no_power_on [0.106861s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.027317s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.052162s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.171481s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_573_project_reader_cannot_delete_runbook [0.190743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/633a9205-299d-41d1-a788-0dceda8be8a5 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9fef5b14-1f31-422b-88af-90a8e087e8ef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.073273s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.134709s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_574_project_member_cannot_post_runbook [0.172422s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a5740e31-4d84-4dd1-b003-4f72efdb9774 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.154993s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.264531s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.240595s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.133799s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_575_project_member_cannot_patch_runbook [0.198471s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/e0f96ce8-bf18-408b-a655-e7e2787047eb WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44b5d752-10aa-4254-ab75-d48ef69a41a9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.108542s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.121163s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.203563s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_576_project_member_cannot_set_runbook_owner [0.161226s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/823a6924-9c86-4f38-96c1-2e039f5d856b WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-151cc3c4-d9be-4787-8705-ff03bbe783f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_fail [0.115102s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.202852s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.231542s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.143657s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_577_project_member_cannot_set_runbook_public [0.160477s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/af1ddf3e-6152-41ce-b725-882bc9e3147a WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f2528830-2ff2-4e66-ba75-982f04388f85 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.203682s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_continue_ok [0.133143s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.142305s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_578_project_member_cannot_delete_runbook [0.148275s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/9c8802ab-25ff-4af3-8e49-b36cace3c5ad GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6adc82df-e671-4b76-b7e7-85f35a22a73f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.096751s] ... ok {2} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_continue_with_discovery [0.106010s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_old_command [0.125772s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.101827s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_579_project_manager_cannot_set_runbook_owner [0.172622s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/8ad829cf-d730-4abd-aea8-0bad46a389e1 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b54f8232-0199-4d15-94dd-38bb8894d941 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.091927s] ... ok {2} ironic.tests.unit.conductor.test_manager.ContinueInspectionTestCase.test_wrong_state [0.186664s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_reboot [0.191167s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_580_project_manager_cannot_set_runbook_public [0.168138s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/70650f40-b72d-49c6-8010-82c7f5b4e9b0 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-600b9383-02a6-4448-a2ab-13a846298b41 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.101959s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.135201s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.091298s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.215923s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_581_project_admin_cannot_set_runbook_owner [0.160144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/81c797d7-c399-49d3-affd-d9ae2eb67943 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5e6218c0-1713-44fe-9b29-f7331b44f878 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_removed [0.082827s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_unknown [0.149454s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_582_project_admin_cannot_set_runbook_public [0.166212s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/890ab9d3-6989-4d67-aa97-023bbd5b29f1 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-84dee3ae-5f00-4588-8772-c62ed5bb0df7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [0.147377s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_ramdisk_deploy [0.268489s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.254757s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_583_service_cannot_patch_runbook_owner [0.169797s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/459e6759-9429-43d5-9424-aa3e3d72a8b1 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fe999899-4afc-43d0-a871-6bf451b2a3d6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.127572s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.094098s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.167089s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.081161s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.151852s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_584_service_cannot_patch_runbook_public [0.187226s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/c68b53a4-8d51-433d-9b7d-12380d96fdd9 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8c8a277e-c86c-4453-9752-cc5b7a81379c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.137356s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.110939s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.FreshlyBootedTestCase.test__freshly_booted_empty_result [0.056852s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.FreshlyBootedTestCase.test__freshly_booted_has_retries [0.044640s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_585_third_party_admin_cannot_patch_runbook_owner [0.148716s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/f4c6a266-9a9c-45c6-be4a-d61d0e712d6c WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f41d3f92-0be6-4247-a30b-d8f44ed4bd34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_base.FreshlyBootedTestCase.test__freshly_booted_multi_command [0.052891s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.115662s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.200471s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.FreshlyBootedTestCase.test__freshly_booted_single_command [0.059391s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.FreshlyBootedTestCase.test__freshly_booted_single_command_mismatch [0.038224s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.103834s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_586_third_party_admin_cannot_patch_runbook_public [0.160496s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/4df4d2fc-b610-4b9e-9ecf-72a64e3ec3c7 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a499bcc1-5448-4c2f-b1f8-2cbef4c2eca1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.113361s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.127709s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_001_values ... SKIPPED: These are fake reference values for YAML templating {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.115237s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.115020s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.115134s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.137904s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.064267s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.056353s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_002_nodes_post_admin [0.327267s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0c2553cb-c63f-42fe-9766-1b05b85cab4f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.073009s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_service_step [0.055080s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_default [0.229075s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.724708s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.062376s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.049630s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.046256s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.055964s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_ipmi [0.196537s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_003_nodes_post_member [0.327241s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-15feb413-1622-4c64-98b5-dc3f76016afc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.048965s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.058971s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.319478s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.053774s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.055920s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.023546s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.109085s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.024831s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.029275s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.025984s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestLockDown.test_agent_already_down [0.029413s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.093505s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestLockDown.test_okay [0.027380s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestLockDown.test_okay_with_fail_if_unavailable [0.023411s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_004_nodes_post_observer [0.368523s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dceb266d-8f45-4448-b1a1-1b5b40377e4d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_agent_client.TestLockDown.test_timeout [0.027162s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.026387s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.102117s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.028692s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.025861s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.071340s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.034928s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.050064s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.069160s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_005_nodes_get_node_admin [0.209040s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-58e07971-77a4-469c-a1db-7e6e4ba5d332 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.052696s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.061851s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.060537s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state_redfish [0.721403s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.053274s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_006_nodes_get_node_member [0.163569s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3ae8eb93-df9e-4018-8986-b9c8591610b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.115772s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.078028s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.059855s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.060442s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.097072s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.162503s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_007_nodes_get_node_observer [0.170647s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c047f95c-b04d-4432-935d-3dae219edb7c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.091258s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.097424s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.155786s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_008_nodes_get_node_other_admin [0.165256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cc4a1caa-fa3f-4c35-8e35-f220d2e079fc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.097475s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.157811s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_009_nodes_get_admin [0.160447s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9db382fb-fd12-41bd-ad66-057ab27d6c33 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.095586s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.114650s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.105715s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_010_nodes_get_other_admin [0.179398s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26e6bea0-b815-49ce-8d9e-9e95d232d44a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": []} {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.087241s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_default [0.077770s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_get_node_with_token [0.060406s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_ipmi [0.074565s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.069826s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_011_nodes_detail_get_admin [0.138390s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dc72473b-8153-4b6b-956d-69463e3e64da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail_redfish [0.096010s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.074251s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_node_with_token_already_locked [0.039598s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.853862s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_012_nodes_detail_get_member [0.139172s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-014f7d75-1a24-4620-b680-c0f0c322fda7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_ipmi [0.093613s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_node_with_token_already_set [0.037785s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.055556s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.066308s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_redfish [0.106317s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.063006s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_013_nodes_detail_get_observer [0.152926s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0a5af2ab-eb54-4e01-9ab6-7b2b9d3ba3ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.090955s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.072224s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.085408s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.089821s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_014_nodes_node_ident_get_admin [0.177541s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8382c259-db99-45d5-88fc-e5f3bea94487 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.084893s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.086346s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.104005s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.331029s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.113268s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_015_nodes_node_ident_get_member [0.167062s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b5014d2d-5d2c-48fc-aa2b-8079d5e08d8b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.053428s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.046008s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.124741s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.051835s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.027748s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_016_nodes_node_ident_get_observer [0.177508s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9d1c88f4-7e0e-4fbd-895d-f4ce37e450a1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.031333s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.095578s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.028637s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.030566s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.026036s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.095297s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.024311s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.354003s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.022873s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.029551s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.085707s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.031301s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_017_nodes_node_ident_patch_admin [0.204113s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d9ecf584-e9d8-499a-a7b8-49c3fb3c2ef8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.025688s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.029488s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.091558s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.169793s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.038575s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.046133s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.089789s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.036479s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.033884s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.033499s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.082992s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.187976s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.035787s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.042029s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.090794s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.037323s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.036330s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.053333s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.113584s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.074193s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.080735s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.286338s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_018_nodes_node_ident_patch_member [0.574615s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dc00b2c7-979a-4315-b6f8-18932f97aa11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.070568s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.101007s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_019_nodes_node_ident_patch_observer [0.076694s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb528553-3193-47cd-8783-30ae84812347 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.061066s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.129679s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.093853s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_020_nodes_node_ident_delete_admin [0.087062s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a1cc9cff-846e-4469-8bb8-a193f873d387 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.085755s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_021_nodes_node_ident_delete_member [0.069991s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df722f73-3f61-45a7-950f-4c7cb50a985b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.083394s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.137713s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.097324s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_022_nodes_node_ident_delete_observer [0.081256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e5f6bbac-4dd1-4452-a29a-0fc7db5d0895 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.079165s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.048577s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.047718s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.127795s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.075992s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_023_nodes_validate_get_admin [0.093136s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1998b97b-1582-4a0d-a96b-23906e3db412 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.060247s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.084201s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.053566s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_024_nodes_validate_get_member [0.103447s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4e15a80d-4964-466b-a381-dc13399aef29 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.133966s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.053611s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.081170s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_025_nodes_validate_get_observer [0.105817s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bcc76d3e-49ca-491f-8945-caec6f417cb6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.120368s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.099415s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.097498s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.043561s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.089335s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.047128s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_026_nodes_maintenance_put_admin [0.154341s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5a40a00f-df21-474b-b5ce-644255346b6c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.109070s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.031517s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.029200s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.030303s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.131986s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.040052s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.110871s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_027_nodes_maintenance_put_member [0.121984s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ea82e2fa-8e61-4b1b-955c-e806e1d2c1b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure ... SKIPPED: https://bugs.launchpad.net/ironic/+bug/2024994 {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.063270s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_028_nodes_maintenance_put_observer [0.098822s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-15f531f6-eee7-4e78-b714-e5cadcaeecdf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.146332s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.096802s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.074932s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_029_nodes_maintenance_delete_admin [0.123773s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-71d0010f-d6f2-4b56-b4d5-f5c93a0e3f58 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.130272s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.061281s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.293119s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_030_nodes_maintenance_delete_member [0.118401s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-490c1be4-f562-42ce-bc68-1d575d8f7bc4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.113493s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_service [0.133034s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_031_nodes_maintenance_delete_observer [0.083237s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ecea9005-cfa9-4760-9d23-1d92cc09c71c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.117509s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_032_nodes_management_boot_device_put_admin [0.088493s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f66cd740-ab86-4243-a6d8-cf74deaa5d8e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.118639s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.254814s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_033_nodes_management_boot_device_put_member [0.078228s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0adac746-a017-42c3-a4fe-ee80d53f2733 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.128070s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.114556s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_034_nodes_management_boot_device_put_observer [0.084379s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2b09687c-9810-4159-b7af-ae7c65348513 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.132741s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_035_nodes_management_boot_device_get_admin [0.070284s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0f89db85-1b86-48c2-9706-f5087653fdca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.229579s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_disable_power_off [0.153317s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_036_nodes_management_boot_device_get_member [0.072259s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5f7da0ed-8f9c-48b6-a443-95c16db4f84b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.096977s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_037_nodes_management_boot_device_get_observer [0.071685s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2414d41a-95bb-409f-85c1-6d3a815cb39d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.158719s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_038_nodes_management_boot_device_supported_get_admin [0.070352s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-921f858e-aafc-40b8-a074-8a73c75c7c94 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_disable_power_off_and_fast_track [0.165827s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.123010s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.116520s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_039_nodes_management_boot_device_supported_get_member [0.136658s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-08940854-50ff-4c62-a67c-52c5b0bada75 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.120763s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.105637s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_040_nodes_management_boot_device_supported_get_observer [0.151805s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-472d948b-89d6-439d-8299-668c96f37b40 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.112881s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_041_nodes_management_inject_nmi_put_admin [0.159323s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ec68f923-c7e5-475f-b381-4f58121d663c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.103230s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.553097s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.122470s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.129844s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.509628s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_042_nodes_management_inject_nmi_put_member [0.186834s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2f237a2e-ce9d-4666-9af1-a49b5be2c2cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.121357s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service [0.155192s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_043_nodes_management_inject_nmi_put_observer [0.157511s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aa777ef0-538d-42ca-9173-6f31fb00f8b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.121481s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.256896s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service_disable_power_off [0.150650s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_044_nodes_states_get_admin [0.151231s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a2585bc-4783-43af-b1dc-a4cd8824c0e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.104707s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_service_service_error [0.117249s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.102685s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_045_nodes_states_get_member [0.154922s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8fb8d26c-fbec-4a89-b753-51d70b1a75f7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.072973s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.288129s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.083915s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.105010s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_046_nodes_states_get_observer [0.168395s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-63337234-19f3-4125-87ee-e7825ce30e74 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.224608s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.103546s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.121221s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.092157s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.127495s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_047_nodes_states_power_put_admin [0.164270s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c647058b-c365-4769-b05f-d9401261ff87 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.098451s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.124740s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_polling_if_not_set [0.076440s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_048_nodes_states_power_put_member [0.164585s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5537e02d-dfa4-4433-af7f-8581c38c0149 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.199066s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.090239s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.132352s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_049_nodes_states_power_put_observer [0.162756s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3819611c-6eeb-4ae2-8dec-7fc38dcec09d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.115583s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.128515s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.203523s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.119725s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.100108s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.122837s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_050_nodes_states_boot_mode_put_admin [0.165012s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dc42d87b-31f6-46d2-95d4-6b9340871f8e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.121662s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.102099s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_051_nodes_states_boot_mode_put_member [0.127597s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dae0c8f9-fd62-4693-a1d2-ca9c8334db53 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.151626s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.087847s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.110212s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_052_nodes_states_boot_mode_put_observer [0.084235s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-64b3363e-265d-4dc7-a662-8e522a5b0091 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.098028s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.120196s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_anaconda [0.150219s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.092029s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.107828s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.045142s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.042402s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.043903s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_anaconda_img_checked [0.195841s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.143466s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_attach_virtual_media_http [0.079900s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_053_nodes_states_secure_boot_put_admin [0.442519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1a26e0c1-98a3-4af6-ae5e-0213df63cd19 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_attach_virtual_media_local [0.096203s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.147749s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.144628s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_do_attach_virtual_media [0.059351s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_do_attach_virtual_media_fails_on_attach [0.056558s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.129780s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image_checked [0.149053s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_054_nodes_states_secure_boot_put_member [0.178024s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4dd2fa75-974c-4f22-8682-58f376cf1fec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_manager.VirtualMediaTestCase.test_do_attach_virtual_media_fails_on_prepare [0.086481s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.048850s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.031087s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.028578s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.159176s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.183399s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.034558s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_055_nodes_states_secure_boot_put_observer [0.188428s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c18fa97e-9299-473e-a353-696ac87f5c00 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.033963s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.039132s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.029954s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.120494s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.027440s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image_checked [0.161370s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.046310s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_056_nodes_states_provision_put_admin [0.182987s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-40aa16d4-d04d-4797-aee3-8303fe36b2f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.118728s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.135753s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_exclusive [0.101769s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_interface_check [0.068872s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_057_nodes_states_provision_put_member [0.174563s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f3ef78f3-0a1d-4f55-a120-60fc3d1f46ca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.130693s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_limit [0.065450s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.142671s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.054720s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image_fmt_checked [0.184128s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.192483s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image_fmt_not_checked [0.056058s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_058_nodes_states_provision_put_observer [0.327001s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1f4ffeae-f58c-45e7-aae4-9046c152f45d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_part_img_checked [0.077647s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.051537s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.165773s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_oci_url_local_download [0.052317s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_oci_url_remote_download [0.070583s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.140703s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_059_nodes_states_raid_put_admin [0.227329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-344252f1-85ec-4e00-8f20-77e4e4ff8627 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_oci_url_remote_download_rebuild [0.068219s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_is_a_path [0.069431s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.122493s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_060_nodes_states_raid_put_member [0.157768s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c70fe6df-0f01-4b09-88a8-e1914efa4235 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.095704s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect [0.125479s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.065876s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_061_nodes_states_raid_put_observer [0.145665s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52073ea5-2b13-4926-a9fe-90d7eb677eeb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.052788s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_source_redirect_not_path [0.126563s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.064964s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_anaconda_deploy_image_source [0.053845s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.030445s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.065549s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.037655s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_062_nodes_states_console_get_admin [0.186277s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-200c1f21-52a6-4d51-8a7c-fcd85a5ea2ae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.039846s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.068421s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.039565s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.034287s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.057027s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_local_boot [0.049320s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.067395s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_063_nodes_states_console_get_member [0.204144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a67b6521-28d3-4e8e-a1db-8aa42704ae55 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.062155s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.039650s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.066714s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.100368s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.059540s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_064_nodes_states_console_get_observer [0.152443s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c4098e7d-8d9e-4a45-bdc6-f696caf712c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.081604s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.117017s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_cipher_suite [0.077742s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_065_nodes_states_console_put_admin [0.155299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5f0458c7-2d37-4478-92c2-b5efb14f5ad2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.116055s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.083378s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.109027s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.189745s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_066_nodes_states_console_put_member [0.259133s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-88555e03-4341-4d1e-ae1c-4056cd20676c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.109916s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_exception [0.100648s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.194098s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_first_call_to_address [0.086764s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_067_nodes_states_console_put_observer [0.245937s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-547a8382-6cb4-4b94-9628-53f56628266e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.106073s] ... ok {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.075046s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.157493s] ... ok {2} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_stop [0.060625s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.063117s] ... ok {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_drain_has_reserved [0.047087s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.214962s] ... ok {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_shutdown_timeout_reached [0.050912s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_068_nodes_vendor_passthru_methods_get_admin [0.288053s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c14b96e8-000e-4db7-a46d-2e498bfe12c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.145793s] ... ok {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start [0.128975s] ... ok {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start_failure [0.114607s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_069_nodes_vendor_passthru_methods_get_member [0.256352s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b7d65b1b-fa62-4131-bd3a-00638bdc5aba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.165699s] ... ok {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_start_no_rpc [0.087826s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.141243s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_after_full_reset_interval [0.110513s] ... ok {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_after_remaining_interval [0.093912s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_070_nodes_vendor_passthru_methods_get_observer [0.265101s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8fcc3bad-f638-40e3-a006-1d527224dfc6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.121785s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_try_different_cipher_suite [0.642177s] ... ok {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_has_reserved [0.100932s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.103180s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_071_nodes_vendor_passthru_get_admin [0.135260s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dd195be3-e3a7-4e43-9d52-c9805f520286 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.152807s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_instant [0.097897s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_check_exit_code [0.112488s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_072_nodes_vendor_passthru_get_member [0.107878s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8503d091-ef0b-4142-a52f-1d0e9b61056c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpc_service.TestRPCService.test_stop_slow [0.095092s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.112064s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_073_nodes_vendor_passthru_get_observer [0.075358s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-93f5c052-8687-479f-8dde-7d41ae6883e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_dual_bridging [0.098598s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_074_nodes_vendor_passthru_post_admin [0.069108s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ff0cec32-610c-426a-8429-9536ab925072 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.118456s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_empty_username [0.122874s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_075_nodes_vendor_passthru_post_member [0.083116s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-35e80bc2-ccb7-434b-b3aa-9f1a5af3c1ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_076_nodes_vendor_passthru_post_observer [0.065938s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3dc1f21d-bab2-4266-a0cc-8dd6e53adf37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.146021s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_ironic_retries [0.095959s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_port [0.062717s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_077_nodes_vendor_passthru_put_admin [0.148077s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1bdb4500-b75b-4c5f-a926-7d35dd56fda2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_single_bridging [0.074840s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.171669s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_timeout [0.069162s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_with_timing [0.069903s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.560961s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_078_nodes_vendor_passthru_put_member [0.153741s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b4c67239-a83e-42c1-8e46-9dd4bf6197c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.164337s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.057298s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_without_timing [0.069793s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__exec_ipmitool_without_username [0.034211s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.052808s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__prepare_ipmi_password_str_password [0.029182s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_079_nodes_vendor_passthru_put_observer [0.143246s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b25297cf-b0dd-4b40-86ff-c49358252cc3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test__prepare_ipmi_password_with_numeric_password [0.031792s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.066367s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.035208s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.046724s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.030335s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.179199s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.033530s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.056901s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.029008s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_080_nodes_vendor_passthru_delete_admin [0.160215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ca472683-db9b-42de-a078-9da9f3c82d11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.040782s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.059584s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.032745s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.141944s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.049110s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.031609s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.032044s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.060348s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.037527s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_081_nodes_vendor_passthru_delete_member [0.150222s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d543579f-7218-4645-9043-8668e69dd124 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.029371s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.065430s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.140986s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.031571s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.057650s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.041090s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_node_busy [0.029429s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_082_nodes_vendor_passthru_delete_observer [0.154650s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7759031f-728f-443d-b863-523cf27cae23 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_service [0.060429s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.037279s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.123775s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodOnEnvPersistenceTestCase.test_exec_ipmitool_exception_retry_timeout [0.032779s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.051498s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__exec_stop_console [0.050056s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.059447s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.054294s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_083_nodes_traits_get_admin [0.153005s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-31973ddc-4843-4fce-92cc-f9e553387132 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.145852s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.063456s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.055128s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.060804s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.064389s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.053868s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_084_nodes_traits_get_member [0.155995s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9264a06-5de4-4995-97bb-0ca294746a96 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.062596s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.053552s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.056874s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.066129s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.049596s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.044976s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_085_nodes_traits_get_observer [0.148950s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7baeffc7-10ad-4861-8473-9bfb9e47746a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.034314s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.046921s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.066230s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.038952s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.050684s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.033861s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.052418s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.034991s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_086_nodes_traits_put_admin [0.153915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-29abf21f-baf1-4b89-8dbd-1e867e467627 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.052136s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.059323s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.528448s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.048331s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_service [0.053568s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_087_nodes_traits_put_member [0.142301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d8b90244-8243-4fc6-ae47-d6f3afac14ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.057909s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.047317s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.050656s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.068618s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.042944s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.193687s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.066733s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.052363s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_088_nodes_traits_put_observer [0.150046s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-611e4682-9e7c-4a56-978b-70cd732f7643 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.062397s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.059682s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.123546s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.064767s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_089_nodes_traits_delete_admin [0.149195s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-568174bf-2762-401f-bcac-cc0c1ea6ddc3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.114960s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.057055s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.087312s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.047605s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.050121s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.062261s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_ensure_boot_interface_is_not_http_enabled [0.043040s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.048587s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.056422s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.045023s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.049636s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.060694s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.037180s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance [0.067738s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.052250s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.068427s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_active [0.087946s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.083320s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.063865s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.044016s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.068399s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.100493s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.069258s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.055039s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.070389s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.048283s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.051368s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_090_nodes_traits_delete_member [0.539558s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-83b35b3f-5e6f-423d-bc71-f9b933479af6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.085963s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.052828s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.055817s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.114488s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_091_nodes_traits_delete_observer [0.145035s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f70950d6-1079-4180-af4b-96f66e4fdc8f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.059212s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.287950s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.062029s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.139484s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.060969s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_092_nodes_traits_trait_put_admin [0.150682s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-68624a47-3a3f-4392-a5dd-4e63efe0ff3a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.086909s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.068011s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.103281s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.078732s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.059511s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_093_nodes_traits_trait_put_member [0.174280s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ba3e12c7-0dcf-4dd6-9f45-96e71b9f2224 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.088686s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_with_kernel_arg [0.092331s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.063681s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_with_fallback [0.069878s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.072773s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.147966s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.074222s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.093812s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_094_nodes_traits_trait_put_observer [0.197431s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5819a128-9b59-4c43-9e63-0767f17d99df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.047402s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.097748s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.100592s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call [0.063082s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_expected_exception [0.047982s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_095_nodes_traits_trait_delete_admin [0.158307s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9a7b3b10-4b0b-4391-bbd0-4ba224a6b833 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.096301s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.107692s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch [0.058061s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch_with_rpc_disabled [0.050380s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.087364s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.093792s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_no_conductor_with_rpc_disabled [0.052892s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_096_nodes_traits_trait_delete_member [0.140688s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1bc12c03-fa90-4835-8e3b-f17c59825307 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_with_rpc_disabled [0.051607s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.089359s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.091898s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast [0.060298s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.079712s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast_error [0.044354s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_097_nodes_traits_trait_delete_observer [0.144700s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b18ff191-ee77-4d3d-8ae2-a491ff0d53ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.100050s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.087329s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.074391s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.054564s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.111677s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.093670s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_098_nodes_vifs_get_admin [0.179805s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-20b41805-0271-4925-a189-7ce0fef0ae14 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.076316s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.099379s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.104812s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.084622s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.102268s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.093408s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_099_nodes_vifs_get_member [0.231961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9ea70cb2-17d1-4338-8809-505078b1d96a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.156656s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.052242s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.066136s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.056558s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.079168s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.099071s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.058379s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.072989s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_100_nodes_vifs_get_observer [0.159085s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-163e1a20-42cf-4732-9752-47dfc322991a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_rpc_disabled [0.055368s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.112545s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.054984s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.140710s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.059157s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_101_nodes_vifs_post_admin [0.168679s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e8bf0c7c-0512-4083-b88d-8283532187f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.103201s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.063488s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.054349s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.088564s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.159372s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.055076s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.063694s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.062816s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_102_nodes_vifs_post_member [0.199375s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f6fd01a7-be03-4ea6-9546-103b1eed8d5e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.112312s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.045464s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.065161s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.043844s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.091036s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.055463s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.043214s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_103_nodes_vifs_post_observer [0.176094s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7df9f65a-fe10-48cb-81fd-0793c79b20ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.045182s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.040824s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.028895s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.031305s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.047350s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.049803s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.046565s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.045595s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew_dvd [0.058863s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_104_nodes_vifs_node_vif_ident_delete_admin [0.235539s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-40a7c4b0-90c3-449a-b3bc-36d40e3b7fbd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew_dvd_retry [0.055344s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.039387s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.505694s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_empty_media_type [0.057737s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_105_nodes_vifs_node_vif_ident_delete_member [0.163737s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e5841865-4980-4158-972e-611a133bdf46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.305522s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.071165s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.074460s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.062434s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.057257s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.074663s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.057508s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.044389s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.051163s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.039674s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_106_nodes_vifs_node_vif_ident_delete_observer [0.176747s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d88ccad6-cbf9-4492-bd13-2dc947924792 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.061875s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.062636s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.051055s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.049052s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.056468s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.054670s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.044701s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.044177s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_107_nodes_management_indicators_get_admin [0.165046s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3056d725-b304-4110-94f8-9a1c16d9df48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.060024s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.040643s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_http_boot_enabled [0.051132s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.058872s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk [0.085594s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.066424s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_108_nodes_management_indicators_get_member [0.169879s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b6945d2f-4be6-4dc2-a456-d5dc6aea7313 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.050598s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk_rescue [0.088290s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.055253s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.270828s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.051767s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.041638s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.HttpBootTestCase.test_prepare_ramdisk_uefi [0.110065s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.043429s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_109_nodes_management_indicators_get_observer [0.165836s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d28eaeaf-bbf8-4d52-9b04-c75a87874ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.070926s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.065419s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.110324s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.045657s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.053536s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_110_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_with_dvd_cisco_ucs [0.043575s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.056123s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.047237s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_configdrive [0.122523s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.051086s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.036853s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_arch_deploy [0.032748s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_111_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_arch_rescue [0.040604s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.091521s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_deploy [0.035010s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.160961s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_deploy [0.038588s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.091471s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_missing_param_rescue [0.051423s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.070112s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_choose_by_hierarchy_rescue [0.042746s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.046265s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_112_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.110548s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.045675s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.046935s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.040162s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.062507s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.068863s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.068882s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.073125s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_113_portgroups_get_admin [0.151185s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-05bd7cc0-35b4-4f58-8615-7b9164d74b4d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.070107s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy_by_arch [0.053707s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.071757s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.048681s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.037999s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue_by_arch [0.036491s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.073414s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_114_portgroups_get_member [0.143667s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-490563b3-ce7a-4fd2-9f28-0b60ae59e9d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.044788s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.107922s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.035634s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.068083s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.034372s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.054930s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy_by_arch [0.034845s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.067099s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.056129s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.055833s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_115_portgroups_get_observer [0.162414s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ef81ce4a-fb2e-42d4-8a4d-3fddd31721c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.062351s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue_by_arch [0.037528s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.073426s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_ramdisk [0.033183s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.068126s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.050972s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.093982s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.034446s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_116_portgroups_post_admin [0.158828s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-56d025de-fd02-4cd3-a003-f86f113625e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.052873s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.075016s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.054227s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.060948s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.075284s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.025548s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.030967s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.037259s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.109432s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.151702s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_117_portgroups_post_member [0.223284s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-92273f08-1f83-4355-82e4-b0a6483abdb7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.061491s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.030606s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.075010s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.031985s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.025133s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.059059s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.037391s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.154321s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_118_portgroups_post_observer [0.154189s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e0a4114b-9234-4943-9ae6-d5085a2af38a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.026280s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.063379s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.023089s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.023859s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.022131s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.075078s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.032699s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.042514s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.187352s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.033997s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.107639s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_119_portgroups_detail_get_admin [0.202062s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e8402d3a-1044-413b-833e-0a872f70090c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.026789s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.027221s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.032868s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.097814s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.152510s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.065191s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.027179s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.087867s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.032663s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_120_portgroups_detail_get_member [0.198127s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5e5d4a5e-a639-4b23-b663-3d1797f83f08 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.026314s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.025703s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.023680s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.144994s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.105566s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.024142s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.062396s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_121_portgroups_detail_get_observer [0.168999s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-248d8857-cee9-4ef8-b8fd-1c9311b06de1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.079595s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.185794s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.070521s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_122_portgroups_portgroup_ident_get_admin [0.165041s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28ea7be7-fe70-4408-b673-502ced6d1181 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.083436s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.159985s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.361641s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.071457s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.027546s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.028644s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.029766s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.083927s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_123_portgroups_portgroup_ident_get_member [0.191444s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c72fa823-3f1a-49e8-b739-a5c66a7590ae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.126526s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.033552s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.032440s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.036384s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.100106s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.026980s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.039989s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_124_portgroups_portgroup_ident_get_observer [0.157837s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-959641c8-e984-47ec-b98c-46d20c7b94ae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.026747s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.177806s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.091789s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.030854s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.029354s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.039665s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.089692s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.123107s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.037939s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.032485s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.035068s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info [0.108503s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.032921s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.114678s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.025438s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.025915s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.030657s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.024878s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info_string [0.135488s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.025708s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.045453s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.025740s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.108795s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.032830s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.024716s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.033714s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.030973s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_inspected_no_heartbeat [0.090841s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_125_portgroups_portgroup_ident_patch_admin [0.605417s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e8f027f-5174-4fd6-9a71-895ee619e7c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.022455s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.031880s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.024562s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.103960s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.032712s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.033179s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.032527s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_126_portgroups_portgroup_ident_patch_member [0.162921s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-786386af-551c-46e8-b0ec-bcb3f25d44fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.025981s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_not_in_servicing [0.096926s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.026263s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.030327s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.064060s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.624387s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.073132s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.074347s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_127_portgroups_portgroup_ident_patch_observer [0.176258s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a74d8341-0955-4e15-a9a9-e592c3ccbff0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info [0.045328s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.065926s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.126912s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info_string [0.059289s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.057542s] ... ok {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.035943s] ... ok {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.026248s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.061580s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_128_portgroups_portgroup_ident_delete_admin [0.171262s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-710e47a4-aa69-4aea-bf93-39fa44617466 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.030257s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.127989s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.059732s] ... ok {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.067217s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.054152s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.080752s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_129_portgroups_portgroup_ident_delete_member [0.160554s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-adebf46a-8086-4c66-976b-305be03575da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.060383s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.076126s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.067148s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.084032s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.055247s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_130_portgroups_portgroup_ident_delete_observer [0.172116s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-91cc1f1e-943e-4aa6-9637-283a2dfd3be3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.070640s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.079984s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.059646s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.319191s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.038119s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.095985s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.074653s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.055314s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_131_nodes_portgroups_get_admin [0.226431s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d819f9fa-4a30-40ae-a957-6312b5443026 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.054218s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.169903s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.057606s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_node_firmware_update_done [0.122292s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_132_nodes_portgroups_get_member [0.097118s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6279e378-5953-44dc-a162-064d081d3acf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.059688s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.156140s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.056051s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_133_nodes_portgroups_get_observer [0.096546s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4b32d9aa-1ca7-486a-8f81-3fd29c63fcc1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_node_firmware_update_fail [0.129831s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.055391s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_134_nodes_portgroups_detail_get_admin [0.105528s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bc40744d-0db1-4824-9239-f7f12e826a5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.056599s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.144899s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_node_firmware_update_fail_servicing [0.126546s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.055808s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.051347s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_135_nodes_portgroups_detail_get_member [0.111582s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0f0beb25-589a-4cd9-bd04-cd3b2c12d64d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__check_update_in_progress [0.112723s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.056586s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_136_nodes_portgroups_detail_get_observer [0.109912s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d812453a-9bec-4320-97f0-f2300409ea59 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.058788s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__execute_firmware_update_no_targets [0.081815s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.212184s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.054736s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__execute_firmware_update_targets [0.053005s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_137_ports_get_admin [0.096284s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a3dbc818-b5d1-4d61-953c-e4850a9456a4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.075788s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_error [0.032395s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.063881s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_https [0.028185s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test__stage_firmware_file_swift [0.027817s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.069368s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_138_ports_get_member [0.084938s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-341fe26f-7d75-410b-84c5-e774bbb9368c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.067344s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_conn_error [0.053790s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_raritan_pdu2_snmp_objects [0.054106s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_139_ports_get_observer [0.080401s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed79f44d-9bbc-4227-9462-f31d91c3faf2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_still_waiting [0.078673s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.117078s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry3_snmp_objects [0.061653s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_140_ports_post_admin [0.078299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1ff4a20a-9112-47b3-abc1-a32b6c5246b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_task_monitor_not_found [0.065982s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_servertech_sentry4_snmp_objects [0.067886s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_check_update_wait_elapsed [0.062958s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.138799s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.062841s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_update_waitting [0.056694s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.057916s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_141_ports_post_member [0.170349s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d79be8b0-c940-4c22-b878-fdefbbc820ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.080372s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.057270s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_last [0.081845s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.064188s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_last_service [0.057389s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_142_ports_post_observer [0.122529s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-80be2b7a-f52a-47d0-ad28-a40b7c712d2b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.084005s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_continue_updates_more_updates [0.057568s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_143_ports_detail_get_admin [0.099553s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-665d64b0-bbf8-4648-a07d-84c11b4c605d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.081665s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_create_all_components [0.095138s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_144_ports_detail_get_member [0.095060s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d8e2f7d6-aa9e-417f-bd3c-b193c503bea6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_empty_settings [0.068747s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.102594s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_empty_settings_service [0.066510s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_145_ports_detail_get_observer [0.111709s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed95b36c-721e-431d-875b-58bc7f8e6597 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_get_properties [0.038726s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.100211s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_146_ports_port_id_get_admin [0.113102s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a22f1cdc-c10c-42af-bba3-f233ab32c0e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_invalid_component_in_settings [0.110987s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.112640s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.534385s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.051420s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_147_ports_port_id_get_member [0.109304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0abdf66-85ec-4d21-aa75-2c39312d0f89 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_invalid_component_in_settings_service [0.114601s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.062541s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.143701s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_all_components [0.056681s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_148_ports_port_id_get_observer [0.081546s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8b8acc51-c5cf-4720-b156-390998293e01 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.057301s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_bios_component [0.081247s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_149_ports_port_id_patch_admin [0.112080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-837dd9c2-18c9-4541-bc7a-f6cbf1e4c3ae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_vertivgeist_pdu_snmp_objects [0.077550s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.138338s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_bmc_component [0.080250s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.046853s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.046933s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_required_field_in_settings [0.084324s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_150_ports_port_id_patch_member [0.132783s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b2fb24f8-ea69-4f01-9339-086970f58d9e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.046715s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.149719s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_required_field_in_settings_service [0.054536s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.045310s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_151_ports_port_id_patch_observer [0.089092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1aa91fed-6db4-4bf5-a738-462d2dd59487 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_simple_update_action [0.078113s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.049194s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_missing_updateservice [0.055111s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.051191s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_redfish_fw_updates [0.034055s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_152_ports_port_id_delete_admin [0.136000s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1e19f076-76ef-4525-8fb1-557c46aeae72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.046902s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.057683s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_153_ports_port_id_delete_member [0.107256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b95d671a-2f82-4667-acd6-a35a18053c5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.280920s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.048944s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.039518s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.062706s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_redfish_fw_updates_empty [0.266471s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_154_ports_port_id_delete_observer [0.159515s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5979b3a2-a940-4a8c-962a-6da2ccec3ae2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.150711s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware.RedfishFirmwareTestCase.test_validate [0.048855s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.068378s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup [0.042293s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.080743s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.067371s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_notstaged [0.045163s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.072395s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_155_nodes_ports_get_admin [0.171754s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b23d0988-3207-4786-9b2b-cb89eea1e3c0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_swift_fails [0.073478s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.077250s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.061964s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_156_nodes_ports_get_member [0.076554s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8bf2bcc8-3d43-486d-844c-38703ea2f83d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_file [0.061776s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.070614s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.079301s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_http [0.055641s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_157_nodes_ports_get_observer [0.096951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-79ad8bb8-46f3-4a5b-b556-c54d7208ffc6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.063576s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_invalid [0.030267s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.084398s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_swift [0.046922s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.066763s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_get_swift_temp_url [0.055686s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.067442s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_158_nodes_ports_detail_get_admin [0.118721s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-66b32f5d-9074-462a-8112-fe53d8a63a2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http [0.032083s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.058420s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.048794s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile [0.025324s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_159_nodes_ports_detail_get_member [0.079901s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-24015799-d49b-4d8f-888e-b97a9d7606d6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile_fails [0.049966s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.068012s] ... ok {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.087003s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_local_external [0.039871s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_swift [0.030806s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.075533s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_160_nodes_ports_detail_get_observer [0.103954s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-54cf3e0c-e807-47da-a11f-912173d376af X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.028833s] ... ok {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.063717s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_missing [0.020433s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_not_string [0.021164s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.073557s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.030403s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_161_portgroups_ports_get_admin [0.094055s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a9c45cb-01c7-4ac4-bfc6-c48f14c80c46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_source_not_known [0.033414s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.073961s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.028208s] ... ok {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.137040s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_missing [0.023563s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_not_string [0.023118s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.075505s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.028997s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum [0.024057s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_mismatch [0.031698s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_sha256 [0.022798s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.080925s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_sha512 [0.027173s] ... ok {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.086854s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.072125s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.053640s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.082702s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.350915s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.069156s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.075564s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_bios [0.066997s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.073478s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.118163s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.060311s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.067246s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_162_portgroups_ports_get_member [0.713926s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e12cb546-c4ae-447c-ada1-41ae2d4e8573 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_raid [0.087961s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.306824s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.058608s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_vendor [0.119037s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.114593s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.055097s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_163_portgroups_ports_get_observer [0.186608s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eddac619-a705-4f3c-a486-353b527dd724 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.099201s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.066156s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.244267s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.045343s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.056099s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.087946s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_164_portgroups_ports_detail_get_admin [0.183742s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fba60e98-561f-45ee-88cd-c4fcc15aed69 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.110762s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive_simple_storage [0.076639s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.105695s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive_storage [0.069937s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.041961s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_165_portgroups_ports_detail_get_member [0.189970s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cbba1b7d-77d7-4d66-ae0a-5255397558e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.038454s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.098356s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.051046s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.044200s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.095497s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.042582s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.052758s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_166_portgroups_ports_detail_get_observer [0.184713s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-45bf9e99-c389-4d01-95ec-557bcf943b62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.042797s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.090507s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.079387s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.048465s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.198066s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_167_volume_get_admin [0.183481s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e314bb93-6439-4199-a2e9-1e085474df4a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_error [0.060330s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.075523s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_https [0.048567s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_swift [0.030262s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.128222s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_attach_virtual_media [0.056820s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.186678s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.061108s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.055460s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.044231s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.044149s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.138152s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detach_virtual_media [0.044363s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_168_volume_get_member [0.320671s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f6be6026-56b1-41d6-8774-077347a2c93e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.069318s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detach_virtual_media_all [0.060366s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.050498s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.118783s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.075333s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.049792s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.041936s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.093298s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.056704s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.052489s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_169_volume_get_observer [0.207077s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-224c7896-0cb2-40ea-b302-69f73bfc6eb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.050170s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.097435s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.085827s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.076885s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_parse_sleep_range [0.062932s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_170_volume_connectors_get_admin [0.173366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6c7e396b-7c8d-4272-a29a-907e4db36a89 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.066045s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_one [0.065369s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_range [0.053929s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_171_volume_connectors_get_member [0.186383s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a2b6aca-60b4-44cb-9922-d6d770f45191 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_sleep_zero [0.072234s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.446673s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state_disk [0.044036s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_172_volume_connectors_get_observer [0.171624s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-16676115-4d2f-40bc-a419-d9230d7b28f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_missing_attr [0.047141s] ... ok {0} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.108288s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.046635s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.472934s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.037392s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.060239s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.055174s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_173_volume_connectors_post_admin [0.181793s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-03725e4a-22f4-4040-977b-3c95e4053a24 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.179793s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.051050s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.069193s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.034724s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.067760s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.092001s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.057060s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.033150s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.059020s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.079896s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.039157s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_174_volume_connectors_post_member [0.218281s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-65f35d40-204b-4a17-bc3f-ed281b90d902 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.084971s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.069875s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.044822s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.120327s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.055806s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.081017s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_virtual_media [0.129379s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_175_volume_connectors_post_observer [0.194356s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-99782fb5-3207-4a0d-8cf1-8b557a8436a6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.084103s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.129018s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.074336s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_176_volume_volume_connector_id_get_admin [0.172821s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/457b8540-e0ae-454b-8667-e95ca6b5ff22 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-baabd147-3a07-41a8-8e23-5cf418fffacb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 457b8540-e0ae-454b-8667-e95ca6b5ff22 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.088836s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.295137s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.153764s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.031143s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.078768s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.046214s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.039661s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.026971s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.046185s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.028719s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.098193s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.040021s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_177_volume_volume_connector_id_get_member [0.228736s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/4eaa7e96-f387-46ab-8811-473e9a10faa3 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4c3c6cef-1345-4484-8f07-ca39773faf99 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 4eaa7e96-f387-46ab-8811-473e9a10faa3 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.069268s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.028584s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.069096s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.050366s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.038569s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.036288s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.036869s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.085779s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.083353s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.038859s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.045195s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_178_volume_volume_connector_id_get_observer [0.196057s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/f6775dda-a2b4-4dce-975f-ad6d1866b69e WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-911362bb-3cc0-4b75-a642-89054137ec8f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector f6775dda-a2b4-4dce-975f-ad6d1866b69e could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.035185s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.079391s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.027597s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.033450s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.056904s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.100329s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.024659s] ... ok {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_create [0.031132s] ... ok {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component [0.029108s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_179_volume_volume_connector_id_patch_admin [0.188913s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/8835f28c-6cf5-4b2c-9731-9f06328df66d WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e38faec9-c93e-4024-b8ff-32e7eeb046a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 8835f28c-6cf5-4b2c-9731-9f06328df66d could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.110712s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.100107s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component_does_not_exist [0.044007s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.079555s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.075071s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_get_firmware_component_node_does_not_exist [0.062600s] ... ok {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_save [0.050518s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_http_boot [0.072247s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.108293s] ... ok {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_sync_firmware_components_create_and_update [0.088368s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.098465s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_firmware.TestFirmwareComponentObject.test_sync_firmware_components_nochange [0.042794s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.066298s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_180_volume_volume_connector_id_patch_member [0.242380s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/16ab08d7-1635-49fc-a1f0-bfe6f9a997c5 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-68c2f842-16ef-46e2-9d6a-3c0a9c128c1a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 16ab08d7-1635-49fc-a1f0-bfe6f9a997c5 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.037076s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.028517s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.071375s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.090390s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.068175s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.070132s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.092273s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.053310s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.092838s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.091088s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.075298s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.054717s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_181_volume_volume_connector_id_patch_observer [0.333874s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/8050202d-c5b4-4733-8610-c685261f5484 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0fdab06d-ee8a-4e8e-8fed-6561e69de45a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 8050202d-c5b4-4733-8610-c685261f5484 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.051248s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.103899s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_182_volume_volume_connector_id_delete_admin [0.102475s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/052d3195-6d29-4cd7-ae76-9279fe1bcbb0 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6a56fa3b-a239-4aac-b6a0-d4798e8b65b2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 052d3195-6d29-4cd7-ae76-9279fe1bcbb0 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.061147s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.063190s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.128106s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.073245s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_183_volume_volume_connector_id_delete_member [0.141451s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/05f4d76b-3e3c-4b79-a933-0a9d9a5b44c5 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b444c927-7982-4ad9-b6f8-e70280319482 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 05f4d76b-3e3c-4b79-a933-0a9d9a5b44c5 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.052334s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.087209s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_184_volume_volume_connector_id_delete_observer [0.085461s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/cfe23d4b-08d4-4ab7-8fc1-11f525c706c3 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cc469651-6c80-4d82-8203-90334f621e62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector cfe23d4b-08d4-4ab7-8fc1-11f525c706c3 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.069342s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state_disk [0.068454s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_185_volume_targets_get_admin [0.088636s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8da59ea2-d596-454c-99a6-77e4f5735dcd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.057247s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.076206s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.072590s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_186_volume_targets_get_member [0.081922s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e9ce137-fe0b-4afc-9de5-d64e2c34921b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.066696s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.066190s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_187_volume_targets_get_observer [0.104537s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f2e7b82b-7846-4da3-b946-62b193184e6b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.091804s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.066815s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.052186s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.137277s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.067639s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_188_volume_targets_post_admin [0.155273s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-af063032-44fe-4be3-bb18-b885a2f6c4c0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.047608s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [1.009742s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.038297s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.114736s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.042047s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.025122s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_189_volume_targets_post_member [0.149615s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bfdafacb-c543-46b8-b9a0-f681e9f4d903 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.049403s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.112401s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.041173s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.030971s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_190_volume_targets_post_observer [0.124405s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-08c64503-ad4b-4a52-8796-e7bd256c428c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.025635s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.021952s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.023409s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.120278s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.036350s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_191_volume_volume_target_id_get_admin [0.105460s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/2d9f7e85-fe7b-41b4-83f9-eaedccb42cbf WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8d04585e-a091-44b7-900b-b2d6a50d8aa3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 2d9f7e85-fe7b-41b4-83f9-eaedccb42cbf could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.036303s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.027802s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.033488s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_invalid_args [0.145391s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.024943s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.023933s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_192_volume_volume_target_id_get_member [0.115906s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/20422e36-c6b0-4330-a57c-83a791efd78e WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4e742a74-0735-4023-b927-2a004c672adb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 20422e36-c6b0-4330-a57c-83a791efd78e could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.063926s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.038537s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.027684s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_193_volume_volume_target_id_get_observer [0.169324s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/7e569524-4264-4401-967e-a57f56bd0163 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ca7d59f-b49a-4bb4-9c5a-0abe29070488 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 7e569524-4264-4401-967e-a57f56bd0163 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.023189s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage [0.194964s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.025302s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.655043s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.040400s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_supported_missing [0.025452s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_194_volume_volume_target_id_patch_admin [0.097165s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/3cd5af3c-2bbf-446d-9eb8-cb4d5394abd7 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-63921345-bee1-4def-996c-a1ea10859521 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 3cd5af3c-2bbf-446d-9eb8-cb4d5394abd7 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_supported_set [0.022115s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_missing [0.021334s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_no_remove_default [0.023820s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.129846s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_195_volume_volume_target_id_patch_member [0.100154s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/3bd97a79-39ad-4826-ab6a-8c685c0a6bfe WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f998b794-5841-4b1b-a90d-ce6b848b820f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 3bd97a79-39ad-4826-ab6a-8c685c0a6bfe could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_no_remove_non_default [0.036141s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_firmware_unsupported_set_remove [0.043059s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.026273s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.059084s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_196_volume_volume_target_id_patch_observer [0.163826s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/9b0c8e59-5403-4367-9680-f9e8d0d0c698 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df790d88-b2d7-4b25-936b-93ff50aa99b8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 9b0c8e59-5403-4367-9680-f9e8d0d0c698 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.037598s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.029784s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.022091s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.238325s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.031194s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.044103s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.075218s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_197_volume_volume_target_id_delete_admin [0.204130s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/f1da5a49-233f-4ea2-850a-a7172fd49093 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3d421135-7098-43b7-98d4-5977650ccb50 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target f1da5a49-233f-4ea2-850a-a7172fd49093 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.050059s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.097333s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.227054s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.045804s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.044950s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage_both [0.741370s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.048787s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_198_volume_volume_target_id_delete_member [0.214330s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/c7ff8d1c-75b8-4690-afbd-f030d247614c GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-06ca7e07-3ad6-4d37-8ebf-5c6778d35b12 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target c7ff8d1c-75b8-4690-afbd-f030d247614c could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.037029s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.022955s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.033481s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.132192s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.032394s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.032297s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.242439s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_199_volume_volume_target_id_delete_observer [0.302987s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/4deed49a-d9f8-4f6e-b7d4-eee160742564 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1bbdd852-4394-4dc4-b1b9-764a3e2ce8d3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 4deed49a-d9f8-4f6e-b7d4-eee160742564 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_boot_mode [0.202279s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.261541s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.027437s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_boot_mode_immediate [0.186984s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.031805s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.035638s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.441897s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.042858s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.056870s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.054197s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot [0.160855s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.063493s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_200_nodes_volume_get_admin [0.453088s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-def18605-c6ab-4b04-adb7-8b78522d1a22 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.071082s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_immediate [0.112791s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.053076s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_201_nodes_volume_get_member [0.113209s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dcf00b42-3573-4f49-9d7f-adc08f4f70bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.072569s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_no_wait [0.129705s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_202_nodes_volume_get_observer [0.082295s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-59fe8d11-3e6b-4cec-bde3-5e863ca879d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.065150s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.330739s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.035944s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.058537s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_203_nodes_volume_connectors_get_admin [0.093893s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-36885663-9c99-44f4-8a95-fdc4280d2fe5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.063019s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.063217s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.030459s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.034500s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.059921s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_204_nodes_volume_connectors_get_member [0.132063s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-357ecf6d-c7d3-40cc-a8d2-ab64d4d9d960 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.054947s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.067554s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.047140s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.030806s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.035528s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.062884s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.030406s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.040388s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.053138s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.037572s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.037470s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_205_nodes_volume_connectors_get_observer [0.248569s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a086c53e-2359-4cfc-be53-ac8ef93ab6b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.034207s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.041892s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.032663s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.038222s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.028676s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.030445s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_206_nodes_volume_targets_get_admin [0.094194s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a754b175-752f-4c50-a580-294843f55201 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.030174s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.024047s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.023800s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.041506s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.023853s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.039856s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.041417s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_207_nodes_volume_targets_get_member [0.101811s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0e6a2cac-165f-4d6e-9780-2349946b0912 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.027838s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.041376s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.037128s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.046519s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_208_nodes_volume_targets_get_observer [0.103395s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-02ea7314-661d-4d5e-b64c-8da65edf359c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.057025s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.046592s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.048285s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.026433s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.032219s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.041325s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.027528s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_209_drivers_get_admin [0.133582s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-eb23dcfa-4d3e-416b-a87f-123419a64a9e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.040875s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors_with_sqlite [0.074146s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.028912s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.039494s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.031105s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.026365s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors_with_sqlite [0.041849s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_wait_for_secure_boot_timeout [1.100049s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.037029s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_210_drivers_get_member [0.162241s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a3440d06-53f1-4eb5-8e2c-17f959f5b0f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.064804s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.035771s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.030666s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.078829s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.072882s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.039473s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_211_drivers_get_observer [0.122408s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1aa09faa-d25b-49d2-88c0-18ee5d340502 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.034894s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.066583s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.059198s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.039079s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_collection [0.071880s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.042258s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.074644s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_offline [0.033986s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_collection_error [0.061602s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface_overriden [0.051978s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.031843s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_212_drivers_driver_name_get_admin [0.176829s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e781463f-384b-4fe3-8f69-4fa0b0bd6c6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.035335s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.050208s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.058892s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.033686s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.058474s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.036937s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.050836s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.032613s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.070477s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.044343s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.085840s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.037248s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.029745s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.092077s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.032520s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.089204s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_213_drivers_driver_name_get_member [0.281995s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8c7f8317-49e4-47e8-9acd-4adc07ee08d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.048340s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.089286s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.047413s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.087612s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.045310s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.074134s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.062873s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.047643s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.055217s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.056265s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_214_drivers_driver_name_get_observer [0.199082s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-cf10413d-7289-4035-bd17-69b1d509a63f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.064282s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.090554s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.076612s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.062424s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.066820s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.055021s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.056565s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.049892s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.031555s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.074939s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.064994s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.039282s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.058895s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_215_drivers_properties_get_admin [0.272925s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-05b46129-fdbb-4c2d-b9d3-4b7d7b009ef8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.038932s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.036448s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.073446s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.131979s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.045564s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.043208s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.094703s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.063752s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_216_drivers_properties_get_member [0.201033s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-47c51e72-c6ff-434a-90c8-91cd852ae5c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.132662s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.053748s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.094195s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.030567s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.077484s] ... ok {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_create_firmware_component [0.028104s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.062340s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.069119s] ... ok {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_create_firmware_component_duplicate [0.077964s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_217_drivers_properties_get_observer [0.197199s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d56fbaa0-7d63-4a13-aaf5-b6b63b7150ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_delete_firmware_component_list [0.048564s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.099865s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.096771s] ... ok {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component [0.051937s] ... ok {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_list [0.033375s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.087918s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.088310s] ... ok {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_list_node_not_exist [0.029511s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_218_drivers_raid_logical_disk_properties_get_admin [0.146179s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4cff0c4d-023d-4f4c-bf7a-55d6a9300e4f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_node_not_exist [0.030746s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.078548s] ... ok {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_get_firmware_component_setting_not_exist [0.045574s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.083250s] ... ok {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_update_firmware_component_not_exist [0.047622s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.061057s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.066274s] ... ok {2} ironic.tests.unit.db.test_firmware_component.DbFirmwareComponentTestCase.test_update_firmware_components [0.035882s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_219_drivers_raid_logical_disk_properties_get_member [0.176494s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3bba93df-83e7-47e2-9823-6d57434dfaae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.060007s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.059618s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.075265s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.111192s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.061710s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_220_drivers_raid_logical_disk_properties_get_observer [0.175654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ecccd536-ed1b-4e5a-88d3-c6740c9b6c38 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.063073s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.076806s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.045747s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.071177s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.081555s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.045725s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.048877s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_221_drivers_vendor_passthru_methods_get_admin [0.207415s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-298a8880-ef97-45f9-ab9e-9841c2698c8c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.db.test_shard.ShardTestCase.test_get_shard_empty_list [0.432041s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.039142s] ... ok {2} ironic.tests.unit.db.test_shard.ShardTestCase.test_get_shard_list [0.055336s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.046421s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.127781s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_node_inventory.TestNodeInventoryObject.test_create [0.051389s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_222_drivers_vendor_passthru_methods_get_member [0.149753s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d65c40aa-8b29-4865-85e4-e8b1e65c6f2d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_node_inventory.TestNodeInventoryObject.test_destroy [0.058433s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.070769s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.047838s] ... ok {2} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_clean_dhcp_opts [0.172248s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.066638s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.041462s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.053385s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.041563s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_223_drivers_vendor_passthru_methods_get_observer [0.191590s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-af501a00-09a1-4a06-b2a5-2308ebfc3b8b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_get_ip_addresses [0.111227s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.051626s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.097594s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.050559s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.049350s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.044328s] ... ok {2} ironic.tests.unit.dhcp.test_dnsmasq.TestDnsmasqDHCPApi.test_update_dhcp [0.143678s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_224_drivers_vendor_passthru_get_admin [0.168060s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-35721d42-1043-447f-9265-1eefae3d7c9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.070133s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.044435s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.051405s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.049405s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.066339s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.080627s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.043711s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.082433s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.069748s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.083119s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_225_drivers_vendor_passthru_get_member [0.205101s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a51c138d-0826-449b-bc7e-e411db692604 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.049091s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.049592s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.043955s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.054937s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.045929s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.043420s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.075460s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.057991s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_226_drivers_vendor_passthru_get_observer [0.169728s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-59e87d35-f0c2-42a3-8bce-d11bfa41511a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.070661s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.137595s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.097329s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_227_drivers_vendor_passthru_post_admin [0.185244s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-eb6f44a8-0c55-4893-ba2e-6e2048e458c3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.125805s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.117189s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.063946s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.106192s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_228_drivers_vendor_passthru_post_member [0.202130s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-9821cb27-e181-48f6-9128-01446a77bd51 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_disable_power_off [0.065658s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.061329s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.128419s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.586884s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.055626s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.083790s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.046677s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.039024s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_229_drivers_vendor_passthru_post_observer [0.213125s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-db199db0-ca1f-4066-ac45-dd714052b594 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.055505s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.089442s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.044303s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.063843s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.060688s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.122701s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.082634s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.042249s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.202732s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.045922s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_230_drivers_vendor_passthru_put_admin [0.264233s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ba2d8ce3-124f-4678-80f9-1ee30c2674c5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.077203s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.054501s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.073119s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.150324s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.128076s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.063356s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.041625s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_231_drivers_vendor_passthru_put_member [0.228971s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ad284eaa-5b66-45f6-a3ae-be3aa0786f56 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.131555s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.103204s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.067915s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.067711s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.054192s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_232_drivers_vendor_passthru_put_observer [0.176406s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1733585a-1a75-4537-9b9e-0b11894cca27 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.050454s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.094336s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.044203s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.037435s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.061111s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.061920s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.059859s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.066337s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_233_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.047708s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.040830s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.112179s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.043688s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.060937s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.052666s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.056025s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_234_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.052288s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.613120s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.063511s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.042055s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.044425s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.041441s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.030188s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.127584s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.044294s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.043721s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_235_nodes_bios_get_admin [0.184148s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-34398aef-e741-4b8e-99d0-7072c07dfce5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.053922s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.042099s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.047121s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.062281s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_disable_power_off [0.158337s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.062708s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.043850s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_236_nodes_bios_get_member [0.163357s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-40a11c51-9b6c-462f-8bfd-249dda242960 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.042827s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.049718s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.042023s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.114801s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.054910s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.063645s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.053389s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.075622s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.050927s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_237_nodes_bios_get_observer [0.197579s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d15c7745-8dec-4864-aa20-246080168f23 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.091466s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.083572s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.062498s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.050024s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.075218s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.PrepareInstanceToBootTest.test_prepare_instance_to_boot [0.089571s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.053279s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_238_nodes_bios_bios_setting_get_admin [0.141131s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-93d80f71-e08f-4dba-9e53-49372d461469 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.066027s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.065917s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_agent.PrepareInstanceToBootTest.test_prepare_instance_to_boot_configure_fails [0.134584s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_239_nodes_bios_bios_setting_get_member [0.122136s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e47a64e6-547f-4286-8013-aac1d01430e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.096310s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.123904s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.064686s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.PrepareInstanceToBootTest.test_prepare_instance_to_boot_localboot_prep_partition [0.161125s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.139389s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.065507s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_240_nodes_bios_bios_setting_get_observer [0.218876s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a569ad3f-6f07-48ea-87da-bfd7fc8b38e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.069935s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent [0.131730s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.049379s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.145192s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.041075s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.055428s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.099373s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.040437s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_disable_power_off [0.188520s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.056738s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.028754s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.030169s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.057167s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.025512s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.028251s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.071575s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_get_power_state_fails [0.181244s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.092023s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.062238s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.136710s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_no_power_on_support [0.169778s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.143627s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.186377s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_241_conductors_get_admin [0.735961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9aafd638-70e3-4df6-82c9-b05fa7269e33 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.098005s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_power_action_oob_power_off [0.184893s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.075545s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.081652s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.068333s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.057300s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_242_conductors_get_member [0.175494s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d310888d-30d7-4c84-b8f1-fc11dfce7146 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_power_action_oob_power_off_failed [0.153015s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.052279s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.030881s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.033750s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.032265s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.024774s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_243_conductors_get_observer [0.173321s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cabb78ca-7468-43dd-9999-3392a9b27ec0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {0} ironic.tests.unit.pxe_filter.test_service.TestManager.test_init_and_run [0.038050s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_power_off_fails [0.216642s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.317345s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.117171s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_244_conductors_hostname_get_admin [0.221820s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ee96c4b1-e2f0-42b9-93b7-e37a3e66fc97 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.183953s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.110232s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.075444s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.050542s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_soft_poweroff_fails [0.203748s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_245_conductors_hostname_get_member [0.244289s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8eae43b8-e0ea-4a65-a1e1-9f9113428335 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.057991s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.043597s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.070212s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TearDownAgentTest.test_tear_down_agent_soft_poweroff_race [0.158582s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.066164s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_246_conductors_hostname_get_observer [0.238117s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2b2461b3-4d21-4da5-a9c4-055ff15c4fd0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.103608s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.086472s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.268257s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_247_allocations_post_admin [0.261495s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-83e4e265-8eb1-4a73-9e1a-be0c1283355d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.144891s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.163615s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_248_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.110221s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.140792s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_249_allocations_post_observer [0.108677s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-978b9814-6959-4e2d-86f6-cbcc11fefa66 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.140108s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_250_allocations_get_admin [0.084026s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3cdca1a6-5db7-4033-8cf8-e8c9c0e3d1d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.134022s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.096733s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.125636s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_251_allocations_get_member [0.141947s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2ab425df-13fa-4686-829c-506df311a8d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.076162s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.046314s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.044738s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.044754s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.049420s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_252_allocations_get_observer [0.146706s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-246db088-61e9-40c1-bcc3-a395257938cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.094902s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.038644s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.038678s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_253_allocations_allocation_id_get_admin [0.086537s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/ba50d771-cf69-4521-aa2f-ada341b84a4c WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9f07f300-bb5a-4afb-86ca-58b26bacfc4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation ba50d771-cf69-4521-aa2f-ada341b84a4c could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.086602s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.046274s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.059482s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.061673s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_254_allocations_allocation_id_get_member [0.116472s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/5b5aaa30-66c5-4a38-883d-000e71fc7491 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-41c82a8f-75aa-43f4-85c6-c6f5d9ac840a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5b5aaa30-66c5-4a38-883d-000e71fc7491 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.061363s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.082211s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.026755s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.026095s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.091620s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_255_allocations_allocation_id_get_observer [0.101186s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/185a5e49-b69b-4e52-b843-1b5c18fddf2a WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d53a86ff-4a1a-489b-953d-a5a40bf2bad8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 185a5e49-b69b-4e52-b843-1b5c18fddf2a could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.041282s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image_anaconda [0.030889s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.026754s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_256_allocations_allocation_id_patch_admin [0.103454s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/d2a67c49-9a0b-4638-9569-fc69a29c2ae8 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3b77f002-a82d-4a97-a68e-6996553f8845 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d2a67c49-9a0b-4638-9569-fc69a29c2ae8 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.025400s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.121648s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.028011s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.025497s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.070924s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.032961s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_257_allocations_allocation_id_patch_member [0.106918s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/b3caaf1d-4618-4754-a52f-5daf21291e49 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6c194820-4ef2-4d8e-bb2a-d0af879f9ce1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation b3caaf1d-4618-4754-a52f-5daf21291e49 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.031314s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.062245s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.021041s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.029059s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.019895s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.061139s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.019580s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.019919s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.050651s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.021158s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_258_allocations_allocation_id_patch_observer [0.173530s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/fa355081-d926-4339-87c9-9cda7f2d45d6 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-80aa0489-20f6-4a1e-8322-6f55f92ea364 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation fa355081-d926-4339-87c9-9cda7f2d45d6 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.028118s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.033610s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.073325s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.028918s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_259_allocations_allocation_id_delete_admin [0.079268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/43b942bb-bf91-4088-8bf6-28c536c8acef GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-71837b95-8431-4e93-b2ab-4d7476d285ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 43b942bb-bf91-4088-8bf6-28c536c8acef could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.021677s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.051560s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_disable_validation [0.020485s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.033030s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_260_allocations_allocation_id_delete_member [0.091664s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/d8da12c9-963a-4a8a-8be8-dfdb2030eade GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c04e5d10-c44e-42cd-9132-14d20dd826c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d8da12c9-963a-4a8a-8be8-dfdb2030eade could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.081465s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.071351s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_261_allocations_allocation_id_delete_observer [0.068977s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/c1b00f36-4d95-4c05-9a19-b3457a2d65e5 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8de30db9-45f4-481e-8d5a-d929ebe96329 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c1b00f36-4d95-4c05-9a19-b3457a2d65e5 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.057112s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.044900s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.034284s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.081230s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.036191s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_262_nodes_allocation_get_admin [0.100811s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84bc8131-1049-4076-a6a1-d57099881fe1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.026632s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.033056s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.079070s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.027142s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_263_nodes_allocation_get_member [0.091082s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7a6159d6-ba89-4113-b416-e2993b6f9b5e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_264_nodes_allocation_get_observer [0.095648s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-49fe715f-5bbe-4ca9-a122-d12a0602c0d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.138718s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_265_nodes_allocation_delete_admin [0.102750s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a0bd12b-9a09-4f81-853a-eadd61767786 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.232476s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_disable_validation [0.022359s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.025348s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_266_nodes_allocation_delete_member [0.087295s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6d693a3d-2701-49de-bff6-134fc2c5d3dd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.030740s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.025996s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.225683s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.020059s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.020946s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_267_nodes_allocation_delete_observer [0.081561s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b2c19dd9-ee68-4398-8419-25d6b3c62f4b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.023115s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.022033s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.033394s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.102859s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.021321s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.020703s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.021158s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_268_deploy_templates_post_admin [0.148217s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4d1f55a0-0b7a-433a-be87-13a0c09068bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.026517s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.034844s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.137294s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_oci_img [0.022698s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_oci_img_not_cached [0.022983s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.023589s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_269_deploy_templates_post_member [0.128548s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-65ed61b0-fda2-4c8c-b447-9ec7118a7639 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_redfish_kernel_param_config [0.025670s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.083690s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc [0.055060s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac [0.047598s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_270_deploy_templates_post_observer [0.118844s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7ae8e04f-c619-437b-9b03-27ce537c237b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.143602s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac_and_uuid [0.085452s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_271_deploy_templates_get_admin [0.081973s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b1093a44-f123-4354-a30f-4a2516e97f5e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_and_mac_not_found [0.048788s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_272_deploy_templates_get_member [0.079496s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ac3dc6e8-dd8d-4e5f-87a6-3097768305ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_not_found [0.045376s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.134118s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_bmc_wrong_state [0.053981s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.067964s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_mac_not_found [0.049047s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.049571s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_273_deploy_templates_get_observer [0.127494s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9636d04e-27f5-4dcf-8099-43ed10506271 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.038420s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_mac_wrong_state [0.084240s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.051802s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_macs [0.076674s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_glance [0.056734s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_274_deploy_templates_deploy_template_id_get_admin [0.179654s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/4c51160e-c5d6-4fda-9b57-5f051673a263 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7e416e98-6a5d-44a7-b4f3-a07aa6b96bd0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_macs_partial [0.068507s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_unknown_bmc_and_mac [0.060218s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid [0.049447s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_275_deploy_templates_deploy_template_id_get_member [0.190067s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/024dd164-79c3-41e0-a835-fa716dcb5ebc WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d1b08cef-a928-473a-9ae8-6c753dadb918 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_and_unknown_macs [0.079965s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver [0.301363s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_not_found [0.050062s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.056880s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_276_deploy_templates_deploy_template_id_get_observer [0.133852s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/15a8cf38-38b6-40de-ace4-943046b78c33 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1509821c-a09d-4625-a28c-a572069298f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_by_uuid_wrong_state [0.073862s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.063080s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_277_deploy_templates_deploy_template_id_patch_admin [0.088498s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/b0cc296f-21f1-4ad4-91f9-bb36e81177b0 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c1de48f6-ce4c-4c07-adbe-c7e5f85d8a2d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_bmc_and_uuid [0.092176s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.059620s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs [0.052605s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.066053s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs_and_bmc [0.064847s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_278_deploy_templates_deploy_template_id_patch_member [0.138990s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/1e13b3a3-7183-4ac3-8993-0e4adeb02ed1 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-564b3806-5279-4598-9b71-ca856c096773 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.097516s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_conflicting_macs_and_uuid [0.080355s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc [0.041898s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_279_deploy_templates_deploy_template_id_patch_observer [0.138140s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/5176b1b9-ea61-46bb-a874-1f41b861e335 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e0001c3b-edfc-4640-a1b1-b273c4c3ce88 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc_and_unknown_mac [0.053012s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.111275s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_duplicate_bmc_resolved_by_macs [0.050609s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.055878s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupNodeTestCase.test_no_input [0.047956s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.046003s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.RunInspectionHooksTestCase.test_no_on_error [0.038137s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.RunInspectionHooksTestCase.test_post_hook_on_error_callback [0.031990s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_cleaning [0.066892s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_inspect_utils.RunInspectionHooksTestCase.test_pre_hook_on_error_callback [0.037648s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_deploying [0.060879s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_http_boot_not_enabled [0.076128s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_280_deploy_templates_deploy_template_id_delete_admin [0.328192s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/c8bbff28-8729-4cd9-9571-be582615cdb7 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ad5abb0e-d749-4066-85b6-6b5fcd481e6b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_anaconda_rescuing [0.079109s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.044859s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.048195s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.061070s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_281_deploy_templates_deploy_template_id_delete_member [0.094829s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/79161b6b-57c4-4cb9-9b83-1b7780623bd6 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-340f5c51-f780-4cd6-b67f-fa5ff54aca24 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.046259s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.093274s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.054447s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.051924s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_282_deploy_templates_deploy_template_id_delete_observer [0.155662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/d8dfb084-65e4-4b69-8fdb-789f05ea9fe6 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7a95fa9a-cdc3-4294-8427-d9b0d468efe9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.122559s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.040254s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.060731s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_283_chassis_post_admin [0.093309s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fc9e4f9d-cae7-4763-b318-5a2c803a872e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.082521s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.045629s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.053183s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_284_chassis_post_member [0.083709s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e45c1285-1a92-4824-b9f0-b63d6a3daa26 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.041770s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.057247s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.035462s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_285_chassis_post_observer [0.095854s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-113be490-9d44-435c-a654-50dd633682d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.090501s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_286_chassis_get_admin [0.084773s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c6a08df4-1f5c-4577-b4ed-bb75cdf58438 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.056021s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_287_chassis_get_member [0.070918s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c1dbe6b4-d1d9-447c-b2f3-41f7905046eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.075711s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.059854s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.371873s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_288_chassis_get_observer [0.138178s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-720dac55-44da-4136-b5a5-3ef7f4f17d82 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.038746s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.050086s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.050738s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.044795s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.039592s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.044136s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_file_if_no_upload [0.050295s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.049219s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_289_chassis_detail_get_admin [0.173681s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-57fdf9fd-1617-4749-84a0-4f921ccb6a46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.035429s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.042665s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.035544s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.039039s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_290_chassis_detail_get_member [0.089044s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c0826a3c-ba9f-4a3b-9992-0e89c8c038a9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.062417s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.056919s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.067665s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_291_chassis_detail_get_observer [0.077432s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1be22d30-a5c9-404a-94a1-d961cf75733b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.033706s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.044248s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.069164s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_292_chassis_chassis_id_get_admin [0.101340s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-360bea9f-c82b-464a-89f6-600a739404a9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.048362s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.053339s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.029824s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.044790s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.030762s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_293_chassis_chassis_id_get_member [0.076378s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-769993f5-808b-4791-af03-07793b5fb6d6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.031005s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.036675s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.036347s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.045387s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.024920s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.023131s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.031929s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.021982s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_294_chassis_chassis_id_get_observer [0.131738s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5cec6398-a64b-4c9a-b3cc-c175a909baa1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.028385s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.025078s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.022015s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.030635s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.040923s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.041192s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_295_chassis_chassis_id_patch_admin [0.096949s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0490d29a-bcbd-4510-958f-e9e824699c37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.032707s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.025684s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_296_chassis_chassis_id_patch_member [0.087785s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6a42a0d3-4464-4dda-8fb9-68c2068f54e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.031254s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.022601s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.060952s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.059430s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_297_chassis_chassis_id_patch_observer [0.177670s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a00868f5-7bfb-485e-bf8e-6c165539ae72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.058725s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.057818s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_298_chassis_chassis_id_delete_admin [0.093183s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-72944be9-878c-4701-9e6d-f056b3b7d96b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.051396s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.478159s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_299_chassis_chassis_id_delete_member [0.094018s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2b2f3b58-9ef2-449c-abe0-87b9df7c080f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.052127s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.061268s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.044532s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_300_chassis_chassis_id_delete_observer [0.102178s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ffccde7c-e089-4764-9145-de402822af2f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.070162s] ... ok {1} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.076080s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.030118s] ... ok {1} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.057896s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.078533s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_301_node_history_get_admin [0.126908s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-61e7dc62-f65d-4755-8b75-773e79d5ade1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.054887s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.034852s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.026779s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.103836s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.056923s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.030302s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.081730s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_302_node_history_get_member [0.196033s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ea382608-92ed-48f1-8304-05f3003b2804 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.033038s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.030894s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.078110s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.041061s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.037090s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.027429s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.031193s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.032345s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.025283s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_303_node_history_get_observer [0.164030s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eaddae1e-31c6-498b-b8af-099bd8b3f75f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.024406s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.026114s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.085303s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.024568s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_304_node_history_get_entry_admin [0.089858s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/150e330f-b098-4b16-86aa-3dd015641f63 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-71422909-d925-49c1-bc65-95a6d71a1eec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.024553s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.060154s] ... ok {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.019780s] ... ok {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.021280s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.019504s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.056303s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.018260s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.020185s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_305_node_history_get_entry_member [0.109836s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/45fa5a89-527f-4045-8945-83e6be9a7e0b WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3df987b7-aca3-46b7-9ebd-9aebd4929d9a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.019371s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.023446s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.077128s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.030818s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_306_node_history_get_entry_observer [0.092694s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4f73705a-8139-4948-8385-905dfc074e9d WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-216657da-7fd4-4593-b5f2-35205f5dbf3b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.035540s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.064908s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.023002s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.027588s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.068796s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.035885s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_001_values ... SKIPPED: These are fake reference values for YAML templating {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.029504s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.026654s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.077886s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write [0.029687s] ... ok {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_custom_ioerror [0.029084s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_002_nodes_post_admin [0.131200s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-99d9379c-90cd-46dc-987f-2cf2ff69c955 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_would_block [0.029221s] ... ok {1} ironic.tests.unit.pxe_filter.test_dnsmasq.TestExclusiveWriteOrPass.test_write_would_block_too_many_times [0.023691s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.140592s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_003_nodes_post_member [0.138607s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-807bc763-72b2-4557-ac71-f2259b803064 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.113074s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.060509s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_004_nodes_post_observer [0.145501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ba161f70-cac2-4b14-8da0-2946b72e09d7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.262252s] ... ok {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.025008s] ... ok {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.022899s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.085228s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.059207s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_005_nodes_get_node_admin [0.143770s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-609c8bb2-9453-41e8-9a05-c09a9a2cf136 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.105297s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_006_nodes_get_node_member [0.114573s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0381bfcf-8009-459e-a3b2-9da0f52b5681 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.058262s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_007_nodes_get_node_observer [0.084649s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e35e8ce8-b3d1-4deb-9db9-0924d8c9e5e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.087572s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.048186s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_008_nodes_get_node_other_admin [0.096606s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c9d9da85-d478-4377-bb6c-d6c19d3d1fe7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_009_nodes_get_admin [0.084778s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e04dc4a1-dc1c-48df-980f-5e06a937c03f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate [0.147820s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_010_nodes_get_other_admin [0.077783s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fce894bc-ddc5-4594-aff4-558c9f2aa38d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": []} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_fileurl [0.088537s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_011_nodes_detail_get_admin [0.065447s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3db460de-1ebd-47a2-94e2-e01488e91a34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_httpurl [0.077112s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_add_https_certificate_url_exception [0.058062s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_012_nodes_detail_get_member [0.133527s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f9b28ace-2c43-4510-b42f-79ac391bbfa4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.064523s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.068706s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_013_nodes_detail_get_observer [0.137015s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-48e896db-8155-48cb-8157-be889fdfc2e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.072504s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.101708s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_014_nodes_node_ident_get_admin [0.337618s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ef41d9ac-64cf-4783-9ada-b5c03c092935 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_015_nodes_node_ident_get_member [0.093961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2c998cf8-fb0a-4d43-81c5-56f49666e11c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_create_csr [0.365113s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_016_nodes_node_ident_get_observer [0.122029s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-645a0b14-2a28-4c55-b900-e54a87526347 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.056575s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_017_nodes_node_ident_patch_admin [0.088196s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-567d7b65-b713-490c-ba8a-aae14bafba02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.061022s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.067803s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.051522s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_018_nodes_node_ident_patch_member [0.147850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e8a13cfa-0fa1-439f-a5da-8b4b0fccb028 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.065332s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.054372s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_019_nodes_node_ident_patch_observer [0.128179s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-39ee9fff-2585-4a82-9dd9-575199d83f93 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.079335s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_020_nodes_node_ident_delete_admin [0.082429s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7aa38c6e-4909-4063-bccb-15adf268799e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.050776s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.060166s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_021_nodes_node_ident_delete_member [0.084783s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-99ba58ed-0aca-480f-8b78-83b2e260c99a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.048675s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_022_nodes_node_ident_delete_observer [0.067367s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1c32a31a-146f-4032-b134-febf56dc2a49 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.049928s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.046981s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_023_nodes_validate_get_admin [0.078688s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d9a05659-458a-4204-8da2-8bc797c4b856 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.044890s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_024_nodes_validate_get_member [0.084123s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-26c50bb2-e8f1-422c-8852-f3b5809c90e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.062197s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.051795s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_025_nodes_validate_get_observer [0.073148s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-19af9aa7-0e53-4150-a510-dff78439aea9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.051995s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_026_nodes_maintenance_put_admin [0.085955s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df2b3528-da74-4598-ba16-0150554841be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.056031s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.052189s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_027_nodes_maintenance_put_member [0.098849s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-efa8fb37-81f3-435d-8054-13d543630152 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.065647s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_028_nodes_maintenance_put_observer [0.077661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-41cf6397-ae8c-4434-8c5f-3dfcea13e051 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.061664s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.059456s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_029_nodes_maintenance_delete_admin [0.086667s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c06d727-c37f-4083-a1e4-9ec0c983293c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.048943s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_030_nodes_maintenance_delete_member [0.073256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3be69e14-010f-43c9-b56a-f7bb127a3505 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.055739s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.051391s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_031_nodes_maintenance_delete_observer [0.082430s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-47b1d833-c26c-4bce-8e30-d668e589a96e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.056616s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_032_nodes_management_boot_device_put_admin [0.085070s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bfe132aa-e594-40d8-8dbd-715129e24d87 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.057181s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.058879s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_033_nodes_management_boot_device_put_member [0.097458s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-14f0b224-ec94-4496-94f8-2f1c5361c161 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.058913s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_034_nodes_management_boot_device_put_observer [0.080526s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-89246c20-3971-49e3-b21e-92d57bc4f433 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.060511s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.057414s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_035_nodes_management_boot_device_get_admin [0.127347s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9556824a-ee41-407c-91fc-cf3ce9e7ccf6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.062203s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.069488s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_036_nodes_management_boot_device_get_member [0.142353s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd49ac94-7b26-4790-9576-1b1fb0e44770 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.062099s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.071497s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_037_nodes_management_boot_device_get_observer [0.082366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b5dc8634-eb7c-4c64-b1a6-1bdb3304704b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.071326s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_038_nodes_management_boot_device_supported_get_admin [0.102373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dcdcebb0-373a-4059-bc0a-977b20afc338 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.054854s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_039_nodes_management_boot_device_supported_get_member [0.076300s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5ffda3e3-2ae7-4255-9589-3db2291564c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.091130s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_040_nodes_management_boot_device_supported_get_observer [0.078584s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b823229-1efd-4218-a193-6c3ae60c440b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.075817s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_041_nodes_management_inject_nmi_put_admin [0.100117s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0346409-4f5d-4e71-98f6-8dc434a7c2ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.076338s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.069450s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_042_nodes_management_inject_nmi_put_member [0.080479s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d6e7580b-7763-43d8-ae73-9f123c1e4491 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_043_nodes_management_inject_nmi_put_observer [0.108125s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f4906a6d-20c9-46da-8667-405379df7f08 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.162586s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_044_nodes_states_get_admin [0.079197s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6e1a9156-ecd1-4901-a386-36c846ea1dad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_045_nodes_states_get_member [0.073498s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a1ae34e1-f78f-4e16-ad6d-91caf93ca6b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.153445s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_046_nodes_states_get_observer [0.105127s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-23c4718d-e2f0-4c4b-a454-65bfa4e6dbb9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.076890s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_047_nodes_states_power_put_admin [0.085956s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1d9363a1-1a10-41fc-abc2-7166b9841f1a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.098347s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_048_nodes_states_power_put_member [0.081545s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d535295d-d3b8-4f94-8568-2f8fe9dc230b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_049_nodes_states_power_put_observer [0.085073s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1e3f975e-4b28-4052-a72e-fdcbf6e7e035 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.311460s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.061266s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_050_nodes_states_boot_mode_put_admin [0.274197s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b2f50b2f-e1cc-4552-9f36-2e2002c9414d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.068138s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_051_nodes_states_boot_mode_put_member [0.080381s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-94788635-f98b-45ba-b777-9304d30cde97 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.057150s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.057956s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_052_nodes_states_boot_mode_put_observer [0.079739s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-523ea97a-d5d2-43a6-b587-0358cbdbf2b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.065563s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_053_nodes_states_secure_boot_put_admin [0.080683s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ecd45b3d-696b-464b-bd49-eda1e11ae5ad X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.053437s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_054_nodes_states_secure_boot_put_member [0.071884s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3b7a90dd-d368-43b6-95d2-a2390a8647b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.057067s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.056517s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_055_nodes_states_secure_boot_put_observer [0.081402s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fa8f61ac-50c4-4069-b668-cfc71af74282 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.049291s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_056_nodes_states_provision_put_admin [0.081465s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-04558f97-f3cd-4d1a-89f7-ee747f2f3f77 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.105336s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_057_nodes_states_provision_put_member [0.069101s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-66340ea0-372c-41ed-aa07-f8a16de86334 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.053658s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_058_nodes_states_provision_put_observer [0.068928s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7d3075bc-c31b-4a08-b23d-1acd0aabe61d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.059948s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_059_nodes_states_raid_put_admin [0.070928s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7585a650-4376-4e41-a170-8122b219c493 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.093436s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_060_nodes_states_raid_put_member [0.089546s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-adb505f8-2635-41f8-8287-6705b0802afd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.054560s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.040046s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_061_nodes_states_raid_put_observer [0.069031s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-13af6d13-0baf-41e9-ba41-3aaa473b15d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.051006s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.036732s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_062_nodes_states_console_get_admin [0.084186s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bc8579e9-2ed6-4c13-a2db-85a4626f71ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.031626s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_ilo6_redirect [0.029866s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_063_nodes_states_console_get_member [0.071247s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e3b23cc3-b1f7-4c97-924e-9709cabb1837 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.042214s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_064_nodes_states_console_get_observer [0.071827s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dfe5df89-2686-4603-b223-49c31ed694a0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_065_nodes_states_console_put_admin [0.067738s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d09061e7-76ef-4217-9aca-92aac5c8dd9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_066_nodes_states_console_put_member [0.071055s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-07cb9fbc-8770-416f-b1ae-ebb1343cd301 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_067_nodes_states_console_put_observer [0.070751s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c0a2493a-62a1-4833-b4b7-6a5b3a08e252 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_068_nodes_vendor_passthru_methods_get_admin [0.069888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-463c6857-f186-4db7-ae4f-60d6362e5286 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_069_nodes_vendor_passthru_methods_get_member [0.069255s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7dc5cfd3-ed43-444f-9847-58330ed87f82 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_070_nodes_vendor_passthru_methods_get_observer [0.072190s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5686f80a-c946-4edb-ba7c-c97ac77205f5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_071_nodes_vendor_passthru_get_admin [0.066149s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e6a720b-48b8-42b2-b165-f42529fe5b15 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_072_nodes_vendor_passthru_get_member [0.073570s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ccb320db-5651-44db-9e8e-1d92c1e6801d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_073_nodes_vendor_passthru_get_observer [0.066144s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-91d7d758-76eb-417c-a1d0-b63b98559978 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_074_nodes_vendor_passthru_post_admin [0.067248s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-71513cae-881b-4116-a417-2db0ef8d2176 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_075_nodes_vendor_passthru_post_member [0.066215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d22ea74f-d40b-4bec-ad01-aa3fb15a6bb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_076_nodes_vendor_passthru_post_observer [0.075355s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6cacc7d3-1c50-42b1-8930-9885be3d61da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_077_nodes_vendor_passthru_put_admin [0.091003s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-805cb37d-1b4c-474a-8d46-21ddec1bdea7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_078_nodes_vendor_passthru_put_member [0.135319s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-53f363ae-b7a8-4653-9966-47d1e8821608 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_079_nodes_vendor_passthru_put_observer [0.086053s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1182f136-7e27-41e8-8994-e2da23ae7833 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_080_nodes_vendor_passthru_delete_admin [0.070591s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a6b44314-5959-4273-951f-f31cb76cfcf4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_081_nodes_vendor_passthru_delete_member [0.066704s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-df6c81f3-1383-4ff7-87d5-8b778a929ec5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_082_nodes_vendor_passthru_delete_observer [0.074053s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-33a1a08f-ddf2-45f0-ba27-01e60cad76b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_083_nodes_traits_get_admin [0.066820s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5aed1880-3dfe-4098-ad3f-7984a08004fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_084_nodes_traits_get_member [0.067400s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-40f9748e-867c-4356-abd4-5970d318b71b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_085_nodes_traits_get_observer [0.068227s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c3126bca-47ca-4227-8d70-e9b783294012 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_086_nodes_traits_put_admin [0.072777s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6bfe7bd3-4869-4405-b495-e9a2d67c13a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_087_nodes_traits_put_member [0.264538s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4970ca80-3c48-4f54-bd55-1b124ba25536 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_088_nodes_traits_put_observer [0.074330s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f0eb8060-a93e-4b6c-8e65-c669dec62a1e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.049688s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_089_nodes_traits_delete_admin [0.092901s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ced02070-ec30-44d4-b62c-5f95912f23f5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_090_nodes_traits_delete_member [0.101392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b736927c-760f-4dc5-b225-05addce1723b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_091_nodes_traits_delete_observer [0.070876s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-81929932-590b-4a22-904a-797fcde359c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_092_nodes_traits_trait_put_admin [0.067466s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af35e7f3-4d2c-4088-bd0c-80a65413348c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_093_nodes_traits_trait_put_member [0.071469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9e1f21ba-6c8e-4841-a620-1cacfff54fca X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_094_nodes_traits_trait_put_observer [0.068526s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cf40fdef-e22c-484d-8c83-52d0bff76f02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_095_nodes_traits_trait_delete_admin [0.071386s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c8df160e-1912-483b-a402-e567b0889a9f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_096_nodes_traits_trait_delete_member [0.100067s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e522e0b5-d8c8-4d41-802c-e201d12f290c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_097_nodes_traits_trait_delete_observer [0.067369s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-750a43ba-4374-4694-a0ef-ea778e345118 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_098_nodes_vifs_get_admin [0.071078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-47d6fbd6-676c-41dd-a5dd-440e2a5693e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_099_nodes_vifs_get_member [0.068814s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-37c834e5-ce50-4261-815a-96e6ad91cd6b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_100_nodes_vifs_get_observer [0.068366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-206bc0a6-a1c1-4034-bd31-5d659329dc72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_101_nodes_vifs_post_admin [0.070082s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-91678c02-1329-4ec9-b90a-ab176b4b0dd3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.058290s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_102_nodes_vifs_post_member [0.075627s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b0c512fe-450d-471f-87fa-0168cac404f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.061133s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_103_nodes_vifs_post_observer [0.079016s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-20648265-f3cd-47ff-bf02-39590bda4035 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_104_nodes_vifs_node_vif_ident_delete_admin [0.083246s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2bbc5fde-91f1-41e3-b668-7c51e3e95ef6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_105_nodes_vifs_node_vif_ident_delete_member [0.072393s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d32d1a64-4a08-4064-a161-06275e1ab8c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_106_nodes_vifs_node_vif_ident_delete_observer [0.072320s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-304567a7-6893-462f-b183-3ff632c044ae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_107_nodes_management_indicators_get_admin [0.069661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f54e03fd-bca3-475d-a313-64dc570f5420 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_108_nodes_management_indicators_get_member [0.070881s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a70db376-8c2a-42a6-850d-620ea051c8c2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_109_nodes_management_indicators_get_observer [0.083774s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9bdf94e-07fd-4749-9a1e-5f94623faa5b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_110_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_111_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_112_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_113_portgroups_get_admin [0.059344s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e5fb22da-d592-4098-adb5-e04e84bb0507 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_114_portgroups_get_member [0.059895s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cf4ac607-a1d7-4984-aad9-3ca05bd07a7e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_115_portgroups_get_observer [0.059325s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cfe68e22-508b-4ad1-99fc-9f88f3c0c45b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_116_portgroups_post_admin [0.067425s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-11a2921c-206d-4144-af50-f237b8f59702 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_117_portgroups_post_member [0.073440s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9a2edfde-a0bf-4834-bffd-f8f5afb84772 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_118_portgroups_post_observer [0.068850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7d703bee-9d62-48a7-aa52-049c7fa65f7d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.053642s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_119_portgroups_detail_get_admin [0.062501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9c8d9df4-01a2-4b2e-b924-aa6d9ad59876 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.092704s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_120_portgroups_detail_get_member [0.068806s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0cd2d7ce-5485-4650-846a-369dd9a20e18 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_121_portgroups_detail_get_observer [0.067191s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5fa414c4-3143-48e1-a6a1-3fd6ae72bf94 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_122_portgroups_portgroup_ident_get_admin [0.069911s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ffd06520-b765-4c3d-afb2-f191f7cd1912 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_123_portgroups_portgroup_ident_get_member [0.072493s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9ec00a59-e617-4d90-817d-f2cbb21b7f46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_124_portgroups_portgroup_ident_get_observer [0.069541s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7ea788b3-5de3-4065-bdbb-fab0c29cb036 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_125_portgroups_portgroup_ident_patch_admin [0.079119s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4c5c03b0-48f0-4815-b6a6-dba7b8866900 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_126_portgroups_portgroup_ident_patch_member [0.257397s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b2e98c0-0457-4e0f-9973-cabfe630b4dd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_127_portgroups_portgroup_ident_patch_observer [0.086536s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-82563028-7e0f-445f-af58-3c03692332c8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_128_portgroups_portgroup_ident_delete_admin [0.070130s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b705d26c-6a9e-4ec4-8ddc-cdbfec2fcd5a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_129_portgroups_portgroup_ident_delete_member [0.073078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fb11feef-b3fb-4125-94ab-5918d933af07 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_130_portgroups_portgroup_ident_delete_observer [0.075537s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-92e862de-40ab-4a0c-8c6b-ee418df1a13d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_131_nodes_portgroups_get_admin [0.069534s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44f3e445-bf22-4592-aa61-91faf4dcee4e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_132_nodes_portgroups_get_member [0.071618s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3053d383-5e0e-4d34-a1a5-24fd59445001 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_133_nodes_portgroups_get_observer [0.067918s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6cb43a82-59d3-4284-84fd-52823aa1405f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_134_nodes_portgroups_detail_get_admin [0.067664s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6927ce17-19d1-4068-a03f-6dd081a9094b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_135_nodes_portgroups_detail_get_member [0.073301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2dae35a9-d715-49c7-92e3-cc7c097a4ca9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_136_nodes_portgroups_detail_get_observer [0.069069s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a30524c2-cd34-421c-9243-22e09f81de25 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_137_ports_get_admin [0.065169s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d1238286-956d-4fdf-8b77-1a929876035d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_138_ports_get_member [0.066082s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-60827c73-cef0-4bd5-a429-b75f741894cd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_139_ports_get_observer [0.072378s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cbc72a07-c231-45b7-9ae0-baf84086ec78 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_140_ports_post_admin [0.071329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-def5fc86-f519-4e73-a4ed-cb67799d3325 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_141_ports_post_member [0.074968s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b511336b-0050-4128-8d05-9f6810dbe3fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_142_ports_post_observer [0.079254s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-03be0dae-2416-461c-b121-3da91e096fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_143_ports_detail_get_admin [0.088008s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9ddb23f4-9534-4bd9-826b-1560f28fe9e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_144_ports_detail_get_member [0.090412s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a5680c7a-cc6b-4a05-8529-dd4898a96d67 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.056219s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_145_ports_detail_get_observer [0.098232s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9472b022-2d12-4ad2-af28-2894bf91d472 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_146_ports_port_id_get_admin [0.087510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a247574f-b9ec-4fd1-b189-0445df56d679 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_147_ports_port_id_get_member [0.083293s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e04db477-bd0b-46f5-a2ca-8615b75239da X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_148_ports_port_id_get_observer [0.080534s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52df8184-5c6c-4e55-9037-0d0baf0d555f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_149_ports_port_id_patch_admin [0.074834s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2adff4d5-1f61-42e1-b268-b4719b5b14fb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_150_ports_port_id_patch_member [0.093059s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0d0bb1e4-8338-4d24-9a49-14944b75ace3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_151_ports_port_id_patch_observer [0.078476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c8abc297-435e-422c-8fed-c024a4324dc8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_152_ports_port_id_delete_admin [0.071262s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-79aa4b7d-2dc7-4c68-ba10-33453fa25b04 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_153_ports_port_id_delete_member [0.081941s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fb0bcbb1-4242-4ade-aa6f-c3dcb6c4ea4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_154_ports_port_id_delete_observer [0.072705s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bccfdb57-990b-4e87-b248-85834d155daa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_155_nodes_ports_get_admin [0.067257s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-653bd1f0-9754-40c3-9c0d-7e1d7f21ad14 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_156_nodes_ports_get_member [0.065303s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fa95b220-7153-44a2-b3e0-a3c44d1e8a7b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_157_nodes_ports_get_observer [0.072269s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a5ecb5f5-0b09-44c3-9a8f-da7a4243e292 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_158_nodes_ports_detail_get_admin [0.081602s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e6fbe618-91ab-41e2-be5a-a5005ae6120d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_159_nodes_ports_detail_get_member [0.076229s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-993d9707-303a-404c-9f75-0d4b4037d591 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_160_nodes_ports_detail_get_observer [0.069726s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dd86abf4-bca2-4275-9051-13ba312d483b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_161_portgroups_ports_get_admin [0.077583s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-585ec096-ad0f-4686-9729-d80a6176fd15 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_162_portgroups_ports_get_member [0.080280s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-95640b82-897b-497d-bebc-c129a6f0f290 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_163_portgroups_ports_get_observer [0.247853s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cbb6d576-eaba-4059-8b9e-0458c4b1f68e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_164_portgroups_ports_detail_get_admin [0.073587s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f4483329-eedd-44c6-9649-8fa1693ca91b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_165_portgroups_ports_detail_get_member [0.074253s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb4a452b-be12-4dbf-ab3e-1102aced693d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_166_portgroups_ports_detail_get_observer [0.068450s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c0626d0-f159-4bb3-b698-0202a9778b55 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_167_volume_get_admin [0.073313s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4cca50f3-2b67-4051-856a-3d68afe05d72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_168_volume_get_member [0.067712s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b6bb6f32-7477-4edc-8ac9-b6dd9bac5e03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_169_volume_get_observer [0.069864s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-adbe188f-1ab7-4d1d-b882-1406e22d868e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_170_volume_connectors_get_admin [0.082563s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-33d7b630-530b-44dc-93c8-b6c552e7fb5c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_171_volume_connectors_get_member [0.127352s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a5a18330-80ea-4084-b40f-4782812d0c47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_172_volume_connectors_get_observer [0.081101s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1bf8101d-d5d1-48b2-8403-a94fb0508090 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_173_volume_connectors_post_admin [0.071473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9461de25-dcd0-4ca3-a41b-4786b36d6158 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_174_volume_connectors_post_member [0.071838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-04522e5a-0e12-47e3-a2c7-bb271e12d408 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_175_volume_connectors_post_observer [0.074017s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0db6a1ea-ac22-460e-9b9e-f186261cbb46 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_176_volume_volume_connector_id_get_admin [0.073635s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/71f4253c-e152-4ad5-b96c-7aafabf092ca WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7c71530f-d9cd-4976-9f94-915799ecc656 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 71f4253c-e152-4ad5-b96c-7aafabf092ca could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_177_volume_volume_connector_id_get_member [0.079888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/888196ec-7653-482c-8fed-8de258ab3d51 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-501b82c6-f72a-4722-8791-e07458364b82 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 888196ec-7653-482c-8fed-8de258ab3d51 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_178_volume_volume_connector_id_get_observer [0.084311s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/5c2ac537-9d3a-439f-bd9b-e5a90f04b735 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6ee0f68c-24b8-4a33-a0d6-49f6a6388404 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 5c2ac537-9d3a-439f-bd9b-e5a90f04b735 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_179_volume_volume_connector_id_patch_admin [0.090514s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/dc97d987-e79b-493b-bdd0-a9333850d56b WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52290736-3b5a-4f7a-9e9b-40cfc8cc93eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector dc97d987-e79b-493b-bdd0-a9333850d56b could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_180_volume_volume_connector_id_patch_member [0.079538s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/b0e821f7-851a-49c3-ad44-09fac9b3fc72 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e3c50f40-f405-4866-88aa-5853da41db58 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector b0e821f7-851a-49c3-ad44-09fac9b3fc72 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_181_volume_volume_connector_id_patch_observer [0.074291s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/ec19ac81-2a8b-4564-8773-9c599857cde7 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c1bcebc6-a954-4e07-b845-545d8f6cc306 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector ec19ac81-2a8b-4564-8773-9c599857cde7 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.107631s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_182_volume_volume_connector_id_delete_admin [0.071528s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/4c7e7717-4c7d-4f2d-bd12-994e1ed32548 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e5ca74f9-0874-4d9d-b506-d205494e1348 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 4c7e7717-4c7d-4f2d-bd12-994e1ed32548 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.044419s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_183_volume_volume_connector_id_delete_member [0.086764s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/1ad820de-5968-4f88-beb4-7449ae0b47ad GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f67ced4e-bb49-46df-abd4-285b45e3871a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1ad820de-5968-4f88-beb4-7449ae0b47ad could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_184_volume_volume_connector_id_delete_observer [0.086340s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/5b58293f-9464-425d-ace6-1cdbe94e541e GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3cea588f-9650-4eb4-827f-fbb5362fb3ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 5b58293f-9464-425d-ace6-1cdbe94e541e could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_185_volume_targets_get_admin [0.062461s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5ab0ab99-1097-4363-aa00-7979fb97f51c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_186_volume_targets_get_member [0.060576s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-33c39cd9-eac6-413c-8881-bf325d3413a3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_187_volume_targets_get_observer [0.061715s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81b86000-24e2-46fc-8178-427a0422d663 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_188_volume_targets_post_admin [0.067268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6dd7a1e0-6835-4463-94b7-dfda01d87ae2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_189_volume_targets_post_member [0.072355s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-63a4a766-23f8-4617-9279-fd7eab8abde3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_190_volume_targets_post_observer [0.087648s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3a27591b-8a59-48ae-8033-8af48d48ccd7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_191_volume_volume_target_id_get_admin [0.069099s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/102c9ff8-4d35-49bd-a093-1230b88d9a38 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-73db3ad6-e2f1-4e5b-8949-1a6296e3e406 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 102c9ff8-4d35-49bd-a093-1230b88d9a38 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_192_volume_volume_target_id_get_member [0.073701s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/2fe04b30-13a8-4eeb-a59d-8d1fce2f6f83 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ab89ac7d-8097-418b-92aa-a468fe520dac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 2fe04b30-13a8-4eeb-a59d-8d1fce2f6f83 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_193_volume_volume_target_id_get_observer [0.069763s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/7b2b1c62-801a-4487-a0a0-35bd17a0e46e WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-47a12eeb-efa8-4eb2-b240-5c1b6346fc40 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 7b2b1c62-801a-4487-a0a0-35bd17a0e46e could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_194_volume_volume_target_id_patch_admin [0.074522s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/673ff4cc-13cf-41d2-86eb-4bc5d763f405 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c2e5b6af-669b-4f36-9421-293749a1a527 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 673ff4cc-13cf-41d2-86eb-4bc5d763f405 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_195_volume_volume_target_id_patch_member [0.076588s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/5596dbac-7d4e-4d08-acfa-d7fe7d6ecdae WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c9e03731-9f02-4833-aac9-86ec430ebbc6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 5596dbac-7d4e-4d08-acfa-d7fe7d6ecdae could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_196_volume_volume_target_id_patch_observer [0.070805s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/062c8379-43e9-430e-bfda-fedfe5bb6e17 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-124bcc45-36b1-4f44-abab-87dc037706f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 062c8379-43e9-430e-bfda-fedfe5bb6e17 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_197_volume_volume_target_id_delete_admin [0.091054s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/4e27315d-1073-4a7d-8bbc-3670a903c5ec GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-169eb5b5-f611-489a-94ed-490f15da5f80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 4e27315d-1073-4a7d-8bbc-3670a903c5ec could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_198_volume_volume_target_id_delete_member [0.067476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/7d7c798f-3f73-4892-8c8c-ab5ed619f617 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-797a3c83-b44a-494f-81de-f72bfe4d0db2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 7d7c798f-3f73-4892-8c8c-ab5ed619f617 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_199_volume_volume_target_id_delete_observer [0.065577s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/abc31990-db28-49df-bdca-c5608316a7c4 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5dfef328-e412-4711-8913-60af05b19f6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target abc31990-db28-49df-bdca-c5608316a7c4 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_200_nodes_volume_get_admin [0.066931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dae794d7-92b9-4684-ba80-07e3979b5d62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_201_nodes_volume_get_member [0.229040s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-83c9d806-1f43-49fb-bb92-12d4ad19b42d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_202_nodes_volume_get_observer [0.064836s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0b3bcc81-0bfb-472e-bb92-f3e1aed6ab86 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_203_nodes_volume_connectors_get_admin [0.068965s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0071b87c-83d7-49d2-b957-a5c1bd02461d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_204_nodes_volume_connectors_get_member [0.083435s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-91325a5a-3577-456e-9ab9-26415ca58aaf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_205_nodes_volume_connectors_get_observer [0.071442s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-23096e67-637e-436d-b176-502b7a1e627d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_206_nodes_volume_targets_get_admin [0.074316s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7e7ccd13-1186-45c6-b111-ea2ad5a73543 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_207_nodes_volume_targets_get_member [0.088987s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-27181f5b-cffa-46d7-bd61-13f87218412b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_208_nodes_volume_targets_get_observer [0.073907s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8b9f3c20-6a36-428f-9008-b3a8aeeb0795 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_209_drivers_get_admin [0.080131s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f5c0f70f-6116-49b3-85d1-32d331fd662f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_210_drivers_get_member [0.111207s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b2b7454d-9e0c-4e70-b7a6-9b2aebba0ab1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_211_drivers_get_observer [0.140914s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-06b464d5-d11b-402e-b0e7-8285c1b6a3ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_212_drivers_driver_name_get_admin [0.078631s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4c641229-4daf-4908-a085-82983c3fce9e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_213_drivers_driver_name_get_member [0.073997s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ae3df2ea-6ab8-4520-9e22-b47572fc0830 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_214_drivers_driver_name_get_observer [0.070860s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5827eade-7531-4278-b094-6af0a59db0f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_215_drivers_properties_get_admin [0.068048s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7eaf0efa-1cc8-4fe1-b7a2-4832fe49d697 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_216_drivers_properties_get_member [0.064401s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c88cfb3d-b5ba-46d0-912b-8c0a41fcff08 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_217_drivers_properties_get_observer [0.069599s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0128b49b-1204-464a-b66f-d068c0948b04 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_218_drivers_raid_logical_disk_properties_get_admin [0.063851s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-766b5b97-61d9-48a0-89a3-739324b24dd7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_219_drivers_raid_logical_disk_properties_get_member [0.061964s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2dcbebbf-7837-4e8b-94c2-06b82f51a361 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_220_drivers_raid_logical_disk_properties_get_observer [0.064046s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b63036d4-bb51-47e7-8686-bc53b761abc4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_221_drivers_vendor_passthru_methods_get_admin [0.061299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0b399a48-24d0-45a4-860b-4d3066fc03f9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_222_drivers_vendor_passthru_methods_get_member [0.062443s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-45d7108b-b75b-4758-ac26-af3f22557ee3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_223_drivers_vendor_passthru_methods_get_observer [0.101021s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-64b43051-b41c-43b9-a33f-3481bdde0ee5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_224_drivers_vendor_passthru_get_admin [0.094983s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8425c5c2-ce67-4314-8af0-5025c863b03c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_225_drivers_vendor_passthru_get_member [0.383329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d2369c78-b430-45dc-8cf3-24b2ce40b0d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_226_drivers_vendor_passthru_get_observer [0.275152s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-9b1d64a2-52b5-456a-bf8d-b009db305232 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.055172s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_227_drivers_vendor_passthru_post_admin [0.226649s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d3d0e8ad-1013-4ec3-910d-1e9d8735d895 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_228_drivers_vendor_passthru_post_member [0.422036s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c7f739d5-2a9b-4581-a4a1-e1b5f7b0c830 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_229_drivers_vendor_passthru_post_observer [0.420512s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3ab5701e-3658-4535-b55c-c0f14a41529c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_230_drivers_vendor_passthru_put_admin [0.460902s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-39dfa663-d286-41c5-816b-8dd437209930 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_231_drivers_vendor_passthru_put_member [0.363721s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-87c86be5-798d-44b0-acd8-7645409c5699 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_232_drivers_vendor_passthru_put_observer [0.374247s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-313fcf8d-b8be-4c7b-ae70-ee7b3f752330 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.257521s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_233_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_234_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_235_nodes_bios_get_admin [0.333152s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e28bcb93-4ecc-4809-8ce2-7976f0b628e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_236_nodes_bios_get_member [0.345528s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7a4de3b5-2061-4f0a-871e-0f9711ecc6c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.167664s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_237_nodes_bios_get_observer [0.371826s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-719fa727-723f-4e36-939f-d6ec0056c760 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_238_nodes_bios_bios_setting_get_admin [1.263701s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8cb51e6e-413d-4126-8cbb-c1fb741de305 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_239_nodes_bios_bios_setting_get_member [0.188716s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c81088b-7450-4d18-8102-6e8d81d52a23 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_240_nodes_bios_bios_setting_get_observer [0.135250s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2fae5346-8e48-4e44-9a27-0db4d5287078 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_241_conductors_get_admin [0.230109s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-83494f72-54ef-49c2-a786-b282a34dc34e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_242_conductors_get_member [0.079496s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-11d75555-afca-4554-8c8e-7c787b54806a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_243_conductors_get_observer [0.082179s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f651dd7e-e1df-4ca9-bfc0-0f72bb0aae6f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_244_conductors_hostname_get_admin [0.092745s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-29e8b83e-e546-4809-af69-f5ae5b666ccf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_245_conductors_hostname_get_member [0.123792s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fe7ff4cf-bcbe-4718-9a45-5bce50c8f269 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_246_conductors_hostname_get_observer [0.133991s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fa27c0ef-c32c-4c67-a739-d6bc0345e750 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_247_allocations_post_admin [0.088565s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d091a565-8e34-4945-99a8-faf713aa2ba6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_248_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_249_allocations_post_observer [0.101089s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-41d5d20d-704e-4ec4-97e1-11361451cf59 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_250_allocations_get_admin [0.066460s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-42b4661d-3a6a-437e-ae02-76bb251544b4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_251_allocations_get_member [0.069097s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c8e27b66-9a68-44c2-b1f3-93c6424baeb3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_252_allocations_get_observer [0.099395s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f489581-641d-40c1-a15e-073ade6d3f79 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.319825s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_253_allocations_allocation_id_get_admin [0.092639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/2a06092e-6537-4899-8977-4152fc19afa2 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-474187a1-5684-4109-8889-a6cc6bd678f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2a06092e-6537-4899-8977-4152fc19afa2 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_accelerators.AcceleratorsTestCase.test_accelerators [0.092155s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_254_allocations_allocation_id_get_member [0.085934s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/3566cabf-6fe2-4735-9786-e8b9d76b9a41 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f58bca84-1841-4d4d-8a91-63a052ab3105 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3566cabf-6fe2-4735-9786-e8b9d76b9a41 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_extra_hardware_with_errors [0.102609s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_255_allocations_allocation_id_get_observer [0.098925s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/bc7b493e-692c-40f6-8814-8e4e5cac54ec WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5c5a2dfb-9512-446d-a726-b78bb89ac2c5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation bc7b493e-692c-40f6-8814-8e4e5cac54ec could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_256_allocations_allocation_id_patch_admin [0.100898s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/9630cf89-b8cb-4a3d-8641-f1e8b914f8ea WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-17c85d82-185e-46e3-933f-c913a014ca3e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9630cf89-b8cb-4a3d-8641-f1e8b914f8ea could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_invalid_data_strict_mode_off [0.179225s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_257_allocations_allocation_id_patch_member [0.092871s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/95bbfa31-bd86-4975-aea4-4074e7f36542 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-afa6355f-83d9-409b-bbdb-210a83a54ed0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 95bbfa31-bd86-4975-aea4-4074e7f36542 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_258_allocations_allocation_id_patch_observer [0.084519s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/9de5a3c9-5446-459b-92ed-807b2824b367 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-17e90587-7931-4e47-be86-8607ca6c67fc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9de5a3c9-5446-459b-92ed-807b2824b367 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_invalid_data_strict_mode_on [0.143579s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_no_data_received [0.063741s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_259_allocations_allocation_id_delete_admin [0.104942s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/75b4c956-5c69-41a0-9b8c-869b1497102c GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d7849f93-a4b3-4a79-bb1f-49e62740c3e5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 75b4c956-5c69-41a0-9b8c-869b1497102c could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_extra_hardware.ExtraHardwareTestCase.test_valid_extra_hardware [0.063579s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_interface_not_in_all_interfaces [0.138919s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_260_allocations_allocation_id_delete_member [0.226077s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/fcad9b24-ec17-46b4-8715-9c7d7baea979 GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3670c1d9-7115-45d3-8b4f-b431bdf8e541 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation fcad9b24-ec17-46b4-8715-9c7d7baea979 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_chassis_id_subtype [0.152250s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_261_allocations_allocation_id_delete_observer [0.215437s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/2369eff5-ac96-436e-a166-ec136f9c4b4e GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-027f05cf-a1f4-4076-906c-fa2f8a4802e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 2369eff5-ac96-436e-a166-ec136f9c4b4e could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_port_id_subtype [0.119003s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_262_nodes_allocation_get_admin [0.097641s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-00644020-32f0-4994-b1a1-9f923eddbf8d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_invalid_tlv_value_hex_format [0.110255s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_lldp_none [0.079656s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_263_nodes_allocation_get_member [0.179931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-450d9f6e-6ebc-4aaf-98bd-b7b4d1915f11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_no_port_in_ironic [0.174034s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_port_id_subtype_mac [0.190766s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_264_nodes_allocation_get_observer [0.288716s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fc2fb0dd-c141-4943-bc3f-3e765ebe3355 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_port_local_link_connection_already_exists [0.144736s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_265_nodes_allocation_delete_admin [0.340449s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c61d801c-8e18-4430-9039-83f9ef643787 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_local_link_connection.LocalLinkConnectionTestCase.test_valid_data [0.258262s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_266_nodes_allocation_delete_member [0.363684s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c551d587-d21f-4cd4-aa17-9091e2317e76 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.AddPortsTestCase.test_add_ports [0.362096s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_267_nodes_allocation_delete_observer [0.215442s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c191d50f-865d-473c-83fa-de9c5b1ce19f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_268_deploy_templates_post_admin [0.311366s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9af2f201-cbf2-48da-8ad5-79441a99e8a8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_269_deploy_templates_post_member [0.215098s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a24e8b5d-ee1b-46c1-9e93-55c9a8c7904b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_270_deploy_templates_post_observer [0.184927s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b966817f-3f00-46a7-bb67-68ebcffb3c5d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_271_deploy_templates_get_admin [0.262095s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e60190d0-ff55-4ba3-8b58-711f8ceaf15f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_ports.AddPortsTestCase.test_duplicates [1.133207s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_ramdisk_error.RamdiskErrorTestCase.test_ramdisk_error [0.213311s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.GetInterfacesTestCase.test_get_interfaces [0.123474s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_272_deploy_templates_get_member [0.395099s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a3f16fcb-467a-42f5-a8a4-fd23197afcd4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_active_interfaces [0.134047s] ... ok {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_all_interfaces [0.106581s] ... ok {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_no_pxe_fallback_to_all [0.159944s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_273_deploy_templates_get_observer [0.388056s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2075fa09-cea2-495c-8038-4afc474ded99 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_nothing_to_add [0.137488s] ... ok {2} ironic.tests.unit.drivers.modules.inspector.hooks.test_validate_interfaces.ValidateInterfacesTestCase.test_pxe_only [0.110074s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_274_deploy_templates_deploy_template_id_get_admin [0.387741s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/5fc3a997-132c-4e30-a2ab-c6774559ae94 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ee2dee04-1238-4b38-a1c9-7909d73ccb8f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_agent.ContinueInspectionTestCase.test [0.168138s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.inspector.test_agent.ContinueInspectionTestCase.test_store_logs [0.134536s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_managed_disable_power_off [0.124609s] ... ok {2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_managed_ok [0.384102s] ... ok {2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_managed_unversion_url [0.209638s] ... ok {2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_disable_power_off [0.157102s] ... ok {2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_disallowed [0.090056s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_275_deploy_templates_deploy_template_id_get_member [1.257753s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/4d123c09-9917-49de-85c4-7871e23ed6e7 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ec00294e-36c3-4b33-9102-922f1e510de6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_agent.InspectHardwareTestCase.test_unmanaged_ok [0.340267s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_276_deploy_templates_deploy_template_id_get_observer [0.288647s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/9d49bd84-d903-40fd-a9ea-37f994e60ff8 WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-95ca85bd-faca-4dd4-a7f2-54cb280d3e9c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_277_deploy_templates_deploy_template_id_patch_admin [0.206973s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/2ecf4f18-8cf9-4f3d-b08b-f819cf210ad3 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8c70fd63-f886-4f3e-a5c5-367983d4e11c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_278_deploy_templates_deploy_template_id_patch_member [0.358040s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/5424471d-6a06-4012-a841-2612c5fa14fb WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7f6a1603-609c-452a-8dd0-83c60eee13b1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_279_deploy_templates_deploy_template_id_patch_observer [0.218896s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/f0350ce1-488c-4c41-8a27-011bc57729fc WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7c88afb1-476f-4921-861c-b1eded0b5dc6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_280_deploy_templates_deploy_template_id_delete_admin [0.230176s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/a7256b82-c199-49b1-9170-c7f68abf38b1 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cebd0c1f-6fe5-4c68-b963-ba34a86310f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_281_deploy_templates_deploy_template_id_delete_member [0.196086s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/c57a018a-bef9-408e-9a3d-880923ac24ea GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1097b22a-d624-4141-96d8-b169c7cd70df X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client [1.531765s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_282_deploy_templates_deploy_template_id_delete_observer [0.294115s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/7a0dd386-a134-47e7-bcac-5cdca64d03ed GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4ec7f1b5-0bc7-4b53-a991-73b6f7faec75 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_283_chassis_post_admin [0.185201s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f1f52a17-8154-4fad-ad1d-cd1ace9d52a7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_284_chassis_post_member [0.222951s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-672fa205-1d6a-4f1b-8bab-77d805889f5b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_285_chassis_post_observer [0.227947s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-796d02c9-4325-4ec9-9c58-9972b762ca1c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_286_chassis_get_admin [0.176570s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-bb2998b4-113d-4e9e-86f2-955fa0a76053 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_287_chassis_get_member [0.176673s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0956daed-457f-4fb2-9b43-fe079bac73b1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_288_chassis_get_observer [0.197771s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-858717a5-f2d9-4b54-9b10-f690154b5ac3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_289_chassis_detail_get_admin [0.197574s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-41c2045c-1f01-4a42-add6-744d74badc8b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client_connection_problem [1.518903s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_290_chassis_detail_get_member [0.190838s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-10b4dfd0-b6e8-44f3-99c5-45d3f0ad9036 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_291_chassis_detail_get_observer [0.221804s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d938d7a8-5072-42b7-a295-f82bbb0a488c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_292_chassis_chassis_id_get_admin [0.371373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b4cd1ad0-9be9-4375-96ae-f38ec125e8ae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_293_chassis_chassis_id_get_member [0.247875s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0612dc96-cbcd-4947-98b9-8c5773aa6177 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_294_chassis_chassis_id_get_observer [0.201113s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f81630cf-878d-4af8-9832-33921c1e32fc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"(role:reader and system_scope:all) or (role:service and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_295_chassis_chassis_id_patch_admin [0.182363s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d913da95-4ce9-4018-bdfd-32a6241a15db X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_296_chassis_chassis_id_patch_member [0.299985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a1aeee56-9f2f-4bcc-95fb-e659c21d7d5d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_297_chassis_chassis_id_patch_observer [0.221739s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-07dcde7f-82c9-4a8d-a29e-22196787e05e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"(role:member and system_scope:all) or rule:service_role\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_298_chassis_chassis_id_delete_admin [0.195718s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-398c1b11-a51f-475f-a486-b17bf1142f95 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_299_chassis_chassis_id_delete_member [0.202964s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-73e2bbae-8d07-4c33-8391-2ab7dd5a5351 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client_standalone [2.484906s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_300_chassis_chassis_id_delete_observer [0.203885s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b26c9a4d-f577-4753-b9e3-df0721f14e97 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_boot_clean_up_failed [0.244737s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_301_node_history_get_admin [0.254810s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a92f4a02-db74-4b56-8541-8b47a7edd2f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_managed [0.218756s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_302_node_history_get_member [0.224479s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d19d8eab-5f99-42c9-9ed7-57c7a86800ae X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_managed_disable_power_off [0.200883s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_303_node_history_get_observer [0.195826s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a8130f44-c5cd-48eb-97bc-1ee2693e8b15 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_managed_no_power_off [0.221259s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_304_node_history_get_entry_admin [0.216175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f50f36f6-87c5-424a-a087-3c2f4feee1db WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d603e3d8-fe94-416b-a47b-81eeed722c02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_managed_no_power_off_on_fast_track [0.256711s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_305_node_history_get_entry_member [0.321085s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/27b78bf8-b960-47c6-a26a-7746c0a8c470 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dcbb0338-cad7-4689-b871-75205186dd6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_network_clean_up_failed [0.282706s] ... ok {2} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_unmanaged [0.163285s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_306_node_history_get_entry_observer [0.292150s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0f4b8dc7-6ed9-4859-b505-d6dd528a6680 WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5f9fd0df-c2ea-4a5d-8262-a75c96fbe34f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_001_values ... SKIPPED: These are fake reference values for YAML templating {2} ironic.tests.unit.drivers.modules.inspector.test_interface.TearDownManagedInspectionTestCase.test_unmanaged_force_power_off [0.263526s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.272753s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_002_nodes_post_admin [0.324489s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-307ede07-76cd-4880-a32a-ba103617479a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.211138s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.240495s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_003_nodes_post_member [0.527719s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-edf359d5-107e-4e0a-9806-ee07f6e2190b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.232139s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.228954s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_004_nodes_post_reader [0.494586s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-649d96ab-4ced-4429-84c6-1a1267c0b559 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.258975s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.134247s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.103588s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_005_nodes_post_service [0.443374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes WITH {'name': 'node', 'driver': 'fake-driverz'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d948311f-355a-4fb7-b425-4e6fed9d4b72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.136313s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.138525s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_006_nodes_get_node_admin [0.246086s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-30994562-fe62-4c50-9214-4175a84765bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:25.104719+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.141189s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.120928s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_007_nodes_get_node_member [0.222466s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-89c7dd4c-6e96-415e-896e-109e117d2017 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:25.351336+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.133256s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.105824s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.091241s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.100748s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.100512s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.141862s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.128173s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.112729s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.107456s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.114746s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_008_nodes_get_node_reader [1.169942s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-21e13cb8-6d29-4366-a26b-916de31d833e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:25.629562+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.106458s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.128011s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.134018s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_009_nodes_get_node_other_admin ... SKIPPED: Not implemented yet {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.134477s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.110004s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.124154s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.144295s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_010_nodes_get_admin [0.408136s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-00625092-52ee-415d-a179-2603b4bc2604 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "b1aa1960-3482-4bef-af40-719feb6deaf8", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.134933s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_011_nodes_get_service [0.259962s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f007d0fd-499b-412b-9235-9ab0a256e740 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "0d373c5d-36b7-4da5-8db6-b00847ee30ee", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.145268s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.153812s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.135093s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_012_nodes_get_service_project [0.300675s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-32a4472f-a406-4412-9312-2835f76efcf2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "727e3e71-ec29-4308-8537-e2596bc15f75", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.137327s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.123142s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_013_nodes_get_service_project_disabled [0.295632s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3364cdc3-cd1c-494f-af91-a761cde62409 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": []} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3 [0.119519s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.111865s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_014_nodes_get_service_project_admin [0.286851s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62d61941-9d51-416f-8783-bf014b0f11d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": []} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_015_nodes_get_other_admin ... SKIPPED: Not implemented yet {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_016_nodes_detail_get_admin [0.422914s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df9915b9-b5d1-4792-bd6e-6cb33107463d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:28.935102+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2025-05-22T18:10:28.941745+00:00", "updated_at": "2025-05-22T18:10:28.962831+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "5ee6d754-91c6-4cc8-9d67-176839a03a58", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "5ee6d754-91c6-4cc8-9d67-176839a03a58", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2025-05-22T18:10:29.075724+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", " rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_017_nodes_detail_get_member [0.150844s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b577c912-ddeb-4148-8baf-5fd4cbd25d69 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:29.333863+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2025-05-22T18:10:29.335244+00:00", "updated_at": "2025-05-22T18:10:29.339859+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "b9c2c948-609c-4998-b0e7-0417d858c8c1", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "b9c2c948-609c-4998-b0e7-0417d858c8c1", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2025-05-22T18:10:29.357235+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", " rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_018_nodes_detail_get_reader [0.125947s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f43ca15-ed4d-429b-93f7-d70473befe6e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:29.433091+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2025-05-22T18:10:29.443283+00:00", "updated_at": "2025-05-22T18:10:29.447193+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "2a0f8f7a-3bdd-4489-835e-5ecb66daa7a9", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "2a0f8f7a-3bdd-4489-835e-5ecb66daa7a9", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2025-05-22T18:10:29.480489+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", " rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security [1.045369s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.144910s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_019_nodes_detail_get_service [0.319645s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-202f6245-4776-4659-ae27-27fb2c2f8e38 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:29.616095+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2025-05-22T18:10:29.617903+00:00", "updated_at": "2025-05-22T18:10:29.641546+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "ddab8f49-4e9b-4810-9adb-adff573dba40", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "ddab8f49-4e9b-4810-9adb-adff573dba40", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2025-05-22T18:10:29.722158+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", " rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp [0.151755s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.284040s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_020_nodes_node_ident_get_admin [0.353592s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da380576-9905-4949-81fe-6424fc58561d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:30.002111+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.215327s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_021_nodes_node_ident_get_member [0.390953s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d74062c-5a0f-4701-9f76-fd68638e7b3c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:30.350115+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_ipmi [0.300302s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_redfish [0.272178s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_022_nodes_node_ident_get_reader [0.395156s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e2147397-6467-46e8-92a4-d6c005daac2d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2025-05-22T18:10:30.817478+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "disable_power_off": false, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "firmware_interface": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "parent_node": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "service_step": {}, "shard": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.178900s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.258268s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_023_nodes_node_ident_patch_admin [0.478428s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-abf9365d-df82-44a6-8a7f-7c843f97587e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.248251s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.314445s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_024_system_admin_can_patch_chassis [0.527135s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-64dee835-beba-441c-9a90-285a12df8ff4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.186762s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.158927s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.190540s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_025_system_member_can_patch_conductor_group [0.565621s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/conductor_group', 'value': 'DC04-ROW39'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3df8fd09-c85f-43f4-8d30-9cc7326ba495 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.167122s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.165159s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_026_nodes_node_ident_patch_member [0.420058s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c587fe12-2251-459a-b9aa-9c596b4e931d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.250465s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.202339s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.245057s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_027_nodes_node_ident_patch_service [0.521863s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3f4aa2bf-5528-4b8b-b768-f22563531b70 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.228601s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.146786s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.122967s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_028_nodes_node_ident_patch_service_project [0.454277s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6decd6b4-5dc9-4dbd-9ae7-733b485240c7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu_arch [0.157079s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.200985s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_029_nodes_node_ident_patch_reader [0.370370s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7731247b-8a42-407e-9a9e-5b823254dbdd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.232390s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_count [0.164115s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_030_nodes_node_ident_delete_admin [0.423050s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-50faacdb-5e72-42e9-9ddf-2ae538295c67 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_frequency [0.135127s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_instruction_set [0.296829s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_031_nodes_node_ident_delete_service [0.383401s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dbcca11e-7751-4d6b-98b6-9b6c649b3a05 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu_model [0.283078s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_032_nodes_node_ident_delete_member [0.402175s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c780bb01-8dbd-44ae-8e3f-252304d5447d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpus [0.264078s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.243328s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_033_nodes_node_ident_delete_reader [0.478042s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6addb45a-f992-4dc2-8a22-7b7d2f0985d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete:self_owned_node\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.277064s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_034_nodes_validate_get_admin [0.339958s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c8f52b1a-f5f3-4293-93e2-41b09f223db2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.243862s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_035_nodes_validate_get_member [0.210350s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-db06f647-4c66-48c5-8672-ed9263556785 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_simple_storage [0.263792s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_036_nodes_validate_get_service [0.286913s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ef34542b-6877-4e5c-b217-eabb4250b80d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_037_nodes_validate_get_service_project [0.223640s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8a6b3e73-f891-405c-a820-dbfa92c37ac3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_038_nodes_validate_get_reader [0.313719s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-484222cc-b3fd-475f-b89b-8c73702c01a4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_039_nodes_maintenance_put_admin [0.366369s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d15f672a-e0e3-41ea-b55e-9c0705d83049 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_simple_storage_and_storage [1.140464s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_storage [0.220376s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_040_nodes_maintenance_put_member [0.384755s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b5589ece-996d-4494-90cc-b00161265a7b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_system_vendor [0.229619s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.251166s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_041_nodes_maintenance_put_reader [0.385907s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5dce6375-2619-4083-a0d0-bd665b0e2d92 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.237754s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_042_nodes_maintenance_delete_admin [0.319523s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-76183bf6-0944-4ac6-98f7-ecf636bdb4a4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.339207s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.276739s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.300838s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_043_nodes_maintenance_delete_member [0.951248s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-20fcf9c0-572a-4db8-8446-69cd174e2e95 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.257289s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.238638s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_044_nodes_maintenance_delete_reader [0.320745s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6dd13015-e8c5-4b77-aae2-c7e025d35850 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.212456s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.123628s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_045_nodes_management_boot_device_put_admin [0.347641s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5b4e1d68-e531-447b-9a66-8d7357948ef0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.208357s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_046_nodes_management_boot_device_put_member [0.301453s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-06eb828b-e1cd-4386-b14d-c1ebfab61aa2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.167834s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.081473s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_047_nodes_management_boot_device_put_reader [0.154373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {'boot_device': 'pxe'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d012e3ca-f87e-42bc-a02e-95b0db9aef03 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.202019s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_048_nodes_management_boot_device_get_admin [0.205689s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-95455797-0772-4c56-842c-18a983ee25b0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.159595s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_049_nodes_management_boot_device_get_member [0.224864s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ed70feaf-05c2-4d6d-bdf6-b208a1d98bef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.147203s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.138542s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_050_nodes_management_boot_device_get_reader [0.225552s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fcf6e290-b715-4b6b-93b3-cca1696239a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.129440s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.072707s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_051_nodes_management_boot_device_supported_get_admin [0.275379s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8caade50-b424-4330-9fec-319751e4ecb2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.106157s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.077305s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.115417s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_052_nodes_management_boot_device_supported_get_member [0.258200s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ff1bd267-a2fa-470a-b3bb-666a4046d3a9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.168809s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_053_nodes_management_boot_device_supported_get_reader [0.246575s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-814e05e0-7525-46cc-af09-b700a27a9e4a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_054_nodes_management_inject_nmi_put_admin [0.198123s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4d8ff50d-49d3-4598-a69a-971610d7cbc9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_055_nodes_management_inject_nmi_put_member [0.198452s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4b980f15-bd61-490c-9b9a-7368a58bf78d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.667435s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_056_nodes_management_inject_nmi_put_reader [0.181325s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-995b10b6-1e91-44a4-93ab-8b7adbe11407 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.130028s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_057_nodes_states_get_admin [0.175507s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb2bc18d-3e5f-4ff8-8be9-29809bc7b1f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.090092s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.138830s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.114022s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_058_nodes_states_get_member [0.350182s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49e6bfff-6922-4373-9141-568399e4477d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.107737s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.140669s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_059_nodes_states_get_reader [0.300314s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-21d2e5b3-1477-4c48-8033-164f804a047f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} {2} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.216437s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.162727s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_060_nodes_states_power_put_admin [0.329649s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e6540559-ded1-4e41-bb83-eaafa3ed2977 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot [0.109553s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_061_nodes_states_power_put_member [0.150735s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2779998a-396e-4ac7-a6bc-3226de5832eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_boot_loader_install_fail [0.161855s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.112240s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_062_nodes_states_power_put_reader [0.161672s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power WITH {'target': 'power on'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed9074f4-99fe-4f54-bf65-157c30cfcd50 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.083326s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.061074s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_063_nodes_states_boot_mode_put_admin [0.201663s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d15fdfc9-d364-4452-96b4-377727ae1ad7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_lenovo [0.087162s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_no_root_uuid [0.052525s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_no_root_uuid_whole_disk [0.053434s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_non_software_raid [0.063937s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_064_nodes_states_boot_mode_put_member [0.190872s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cd507d06-f729-4258-b0b2-05308303d1e4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid [0.070345s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_bios [0.064092s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_exception_bios [0.082276s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_065_nodes_states_boot_mode_put_reader [0.242973s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode WITH {'target': 'uefi'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b9d61e21-bcd2-4c5a-a8db-0e84e6ac690f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_exception_uefi [0.057725s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.059272s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.060391s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_066_nodes_states_secure_boot_put_admin [0.152477s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-80ba7f99-b372-4462-800a-6a45c8b5cc4c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_067_nodes_states_secure_boot_put_member [0.087657s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ecee9d0b-c4f0-41f3-b3a7-16ec4d0a84b8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_set_boot_device_fail [0.097742s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_uefi [0.042449s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_068_nodes_states_secure_boot_put_reader [0.077740s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot WITH {'target': 'true'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-28a5f50d-9428-4dcd-9f25-07afc9d49db5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_whole_disk_image [0.055992s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_069_nodes_states_provision_put_admin [0.096745s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9ec63e9b-c247-4508-a620-75d0e6fcf233 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_whole_disk_image_bios [0.092622s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent.ConfigureLocalBootTest.test_configure_local_boot_with_prep [0.051451s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_070_nodes_states_provision_put_member [0.081717s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1153118f-b9ea-49e0-af28-397472295d7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.066019s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_071_nodes_states_provision_put_reader [0.078109s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b63e3124-6c85-4cc9-adc1-a0e83b69c850 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.074054s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.059732s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_072_nodes_states_provision_put_service [0.106329s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision WITH {'target': 'deploy'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4e27cf01-fbf2-4628-bebe-5155dfcea584 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.092563s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_073_nodes_states_raid_put_admin [0.103691s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e5fe78ec-5e2d-40bc-98c9-810b5a32fd2a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.065121s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_074_nodes_states_raid_put_member [0.087155s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-46e5e561-a5f5-4fce-b60d-130c96e036bd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_servicing [0.055561s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_075_nodes_states_raid_put_reader [0.072959s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid WITH {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-50701ed8-e117-4ab6-8df6-47655d10ddde X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_servicing_fails [0.055885s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.060631s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_076_nodes_states_console_get_admin [0.080221s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-669af1a1-4410-4199-86e0-944f6dcb55b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.054770s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_077_nodes_states_console_get_member [0.080775s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-11c1ba0f-ec24-492a-8bc1-229fa9d0a2e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.101305s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_078_nodes_states_console_get_reader [0.074092s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a8acbe0b-54dc-4906-93fd-abde841c3565 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.239476s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_079_nodes_states_console_get_service [0.366395s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bba2a18d-252b-4e00-9779-5abb434c8141 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.157068s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_080_nodes_states_console_put_admin [0.106965s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-19d5c185-a09d-44ef-a181-13b1936dc1d2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.140402s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_081_nodes_states_console_put_member [0.076764s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bc90af17-6094-40b4-9513-84f153c13603 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.069570s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_082_nodes_states_console_put_reader [0.089083s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-098c9b3c-9649-488e-a509-6ae9d3612613 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.094556s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_083_nodes_states_console_put_service [0.074697s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console WITH {'enabled': True} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-144e3147-9ee8-428b-8b91-9ec6af85c3e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track_via_driver_info [0.116423s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_084_nodes_vendor_passthru_methods_get_admin [0.126215s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c63ed53a-d6cb-45a1-b02f-b2742c776e8f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_085_nodes_vendor_passthru_methods_get_member [0.110652s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-692f456a-730d-4013-b45f-c33293980391 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_086_nodes_vendor_passthru_methods_get_reader [0.066520s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d9020d92-efcd-4d27-812f-43156af49f62 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_087_nodes_vendor_passthru_get_admin [0.104809s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0129142d-7810-4bab-aac5-009986ef2c73 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_088_nodes_vendor_passthru_get_member [0.064550s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-211654d1-e657-4de7-ba5e-a7bbd71c6e72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_when_appropriate [0.417488s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_089_nodes_vendor_passthru_get_reader [0.085141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6e0d1d5b-6567-4741-b5a0-e56a2dab67d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.070315s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.058086s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_090_nodes_vendor_passthru_post_admin [0.087608s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d7183111-7359-4cd3-a9bc-ee4b05447357 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.071879s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_091_nodes_vendor_passthru_post_member [0.082854s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3063fabe-dd96-4b5b-8a70-5a29f9182f01 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_092_nodes_vendor_passthru_post_reader [0.082539s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8c6f99b6-0f09-4192-bb4e-e797ede99a02 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.119901s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_service [0.058402s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_093_nodes_vendor_passthru_put_admin [0.075428s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8a8bc478-0195-44c2-9b2c-8e00874318b6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.062301s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.022403s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_094_nodes_vendor_passthru_put_member [0.094607s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2772efc7-fef3-4ce6-a84c-9364d399cbd2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.021362s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.026025s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.025065s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.023905s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_095_nodes_vendor_passthru_put_reader [0.095476s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-84d76a8e-8094-40e7-af71-58567b6e6bb7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.022314s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.025605s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.026220s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.028318s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_096_nodes_vendor_passthru_delete_admin [0.089390s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5b39f19e-3b85-46f0-8734-9b17ae118730 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.020217s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.021663s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.025893s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_097_nodes_vendor_passthru_delete_member [0.073223s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-49ced9b6-6a07-465b-a416-e16fbc8d6af6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.022294s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [0.023086s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_098_nodes_vendor_passthru_delete_reader [0.067489s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-14cd9f1b-34d5-4531-bd20-ea39b68502e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.041525s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.026111s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.021791s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_099_nodes_traits_get_admin [0.074354s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1759c776-edf4-4406-9d3a-0e676274694e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": ["trait1"]} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.022499s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.022630s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.026632s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.020838s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_100_nodes_traits_get_member [0.097880s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fb2d3f17-82cd-458f-8b6d-a419ce29657a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": ["trait1"]} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.021741s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.019446s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.024430s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.021559s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_101_nodes_traits_get_reader [0.078494s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-90fcda66-856e-4efd-b678-b8f42c1f7678 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"traits": ["trait1"]} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_service_step [0.021720s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.019293s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.021635s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_102_nodes_traits_put_admin [0.073481s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bad5ae6f-5bb8-4b6f-8957-a2415ddf474a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.027296s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.032632s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.023012s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_103_nodes_traits_put_member [0.079765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-50fa554e-c22f-4d0e-a3c9-fb6d0f08d544 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.024523s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.020563s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.029912s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_104_nodes_traits_put_reader [0.080247s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits WITH {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9f0eda97-fabf-4290-b7c2-154311e5b4ef X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.036400s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_service_steps [0.019423s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_service_steps_older_client [0.018367s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_105_nodes_traits_delete_admin [0.069526s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0abb8924-b8aa-41b0-9fd5-ed5c3f5c5f4d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.020864s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.025794s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.023599s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_106_nodes_traits_delete_member [0.080505s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d819a6fa-78ce-444c-a8f9-89d9b7eb60bb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.033550s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.023596s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.027281s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_107_nodes_traits_delete_reader [0.065609s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-75d71765-eba8-4b8d-ba6d-2a67e1833f25 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.035583s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_108_nodes_traits_trait_put_admin [0.073924s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ca388793-bc42-4084-a3d4-cced6ecdb286 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.057768s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.059102s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_109_nodes_traits_trait_put_member [0.076061s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6e667090-9dc3-485d-9054-539ab9c6f131 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.045648s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_110_nodes_traits_trait_put_reader [0.073503s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c2c5708d-b813-4fb8-82b5-7d25b9f55dce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.078707s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.028663s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.025167s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_111_nodes_traits_trait_delete_admin [0.118441s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-306a79ce-3882-42da-909e-8f4eab6f042b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_no_fast_track [0.029546s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.036171s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_112_nodes_traits_trait_delete_member [0.070209s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f9d50414-2d58-4d9a-9793-b3e0039ea863 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.038878s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.039575s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_113_nodes_traits_trait_delete_reader [0.077461s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-938c6509-3bf4-407f-a12d-75f2403b4b39 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.025237s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.021602s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.022211s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_114_nodes_vifs_get_admin [0.069409s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cc14d5d9-93ee-4351-b9ad-db9fb5669e85 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.028067s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.028884s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.025808s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_115_nodes_vifs_get_member [0.071518s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-42cb4b76-c63b-4449-b0ad-0f174502ee3b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.027315s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.023131s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.024736s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.026244s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.027558s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.027010s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.023104s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.022223s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.022746s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.022975s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.022011s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_116_nodes_vifs_get_reader [0.278747s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-594b7394-e4a7-4ca0-aaca-3d3ab7ba3629 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.025454s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.025916s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_117_nodes_vifs_get_service [0.080137s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-28145bff-2835-4d38-8a2a-b72692ce4c34 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_118_nodes_vifs_post_admin [0.064938s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c5b0c173-dad7-4791-954b-ed065d7e754c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_119_nodes_vifs_post_member [0.065341s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3bdae11e-8190-4314-a7f4-642b9e0a9e57 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.221344s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_120_nodes_vifs_post_reader [0.064988s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8508a6b9-8c87-4a2f-bc6c-c3b005363384 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.027689s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_checksum [0.026734s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.026587s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_121_nodes_vifs_post_service [0.065302s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7855e0c1-de8f-4b63-804d-58f4fb709dd2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_with_auth [0.029484s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.026327s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_122_nodes_vifs_post_service_project [0.066272s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs WITH {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fc4cfca5-3c7d-4e95-a6c4-82e30a50db9b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.027092s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.036119s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_123_nodes_vifs_node_vif_ident_delete_admin [0.079143s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-61a9e629-36a6-40af-9f70-5f4c546e3130 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.038604s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.034679s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.029744s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_124_nodes_vifs_node_vif_ident_delete_member [0.096796s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d58a2d79-1308-4dec-9f9d-7dc8274c3f48 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.030285s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.039705s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.027246s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_125_nodes_vifs_node_vif_ident_delete_reader [0.075170s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e518900b-abd8-4db7-821c-13988558a266 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_126_nodes_vifs_node_vif_ident_delete_service [0.103902s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-df8305ba-b710-4dfe-86b1-2cd0b1d2a9ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.132619s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_127_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.084065s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_128_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.067043s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_129_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.065689s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_130_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_131_portgroups_get_admin [0.070501s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d69de04-4fe0-4434-bd9f-8472988d2d6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.120220s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.025141s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_132_portgroups_get_member [0.071198s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cabb8066-d56b-4493-95f7-1d0dc2203b6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.057426s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.054112s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_133_portgroups_get_reader [0.081089s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ed4d10b7-5c08-49b1-8aff-c2e199ba9dd7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.045611s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.043256s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_134_portgroups_post_admin [0.088038s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/0052c5d8-3ede-412b-9ea9-3afd7c1e2acf Openstack-Request-Id: req-2a135648-1d67-40e5-88b6-7e28b563db18 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "0052c5d8-3ede-412b-9ea9-3afd7c1e2acf", "created_at": "2025-05-22T18:10:51.577860+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "links": [{"href": "http://localhost/v1/portgroups/0052c5d8-3ede-412b-9ea9-3afd7c1e2acf", "rel": "self"}, {"href": "http://localhost/portgroups/0052c5d8-3ede-412b-9ea9-3afd7c1e2acf", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/0052c5d8-3ede-412b-9ea9-3afd7c1e2acf/ports", "rel": "self"}, {"href": "http://localhost/portgroups/0052c5d8-3ede-412b-9ea9-3afd7c1e2acf/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.038419s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_135_portgroups_post_member [0.074993s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4884a7c6-426f-4adc-a02e-acfc37cbdc08 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.045042s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.058062s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_136_portgroups_post_reader [0.085141s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/portgroups WITH {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-648d92cb-e243-4e11-8125-9b5d8c968eb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.063077s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.081556s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_137_portgroups_detail_get_admin [0.121586s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c64be0f2-57be-4276-95d8-409744bb8037 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:51.825393+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_138_portgroups_detail_get_member [0.066146s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e682e6b7-1785-4d51-8f71-e30176b702ec X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:51.905150+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.100979s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_139_portgroups_detail_get_reader [0.077682s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-394032b8-07d5-431d-8e0b-6a93230b08e3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:51.976458+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.067487s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.064460s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_140_portgroups_portgroup_ident_get_admin [0.101711s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-edf282b7-eb7b-452a-a72f-cc0b9ab63f64 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:52.049262+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.048110s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_141_portgroups_portgroup_ident_get_member [0.074729s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a624a27-c849-4d80-90b7-1f05b63269db X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:52.152888+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.045474s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_graphical_console.TestGraphicalConsole.test__expire_console_sessions [0.044519s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_142_portgroups_portgroup_ident_get_reader [0.075855s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c654dce7-d17b-4981-a0a6-da233c581a97 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:52.228390+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_graphical_console.TestGraphicalConsole.test_start_console [0.040242s] ... ok {2} ironic.tests.unit.drivers.modules.test_graphical_console.TestGraphicalConsole.test_stop_console [0.044152s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.029880s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_143_portgroups_portgroup_ident_patch_admin [0.096420s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5c80b706-0872-470d-8af7-f443a5b0c707 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_gpt [0.028291s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.028785s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_convert_to_gpt [0.033144s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_144_portgroups_portgroup_ident_patch_member [0.082880s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d7fe9b5f-204f-4386-bdf5-39c051992623 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_deep_inspection_disabled [0.036055s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_disable_validation [0.031792s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_145_portgroups_portgroup_ident_patch_reader [0.096535s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c06dbd27-9744-4689-b444-2c2415f0db9b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.031324s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_format_does_not_match_glance [0.025722s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_not_safe_image [0.034146s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_part_already_exists [0.034141s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_146_portgroups_portgroup_ident_delete_admin [0.114256s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e60ad8d1-d45d-497a-abe0-21666ed59524 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_ramdisk_image [0.031542s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_ramdisk_kernel [0.038005s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_147_portgroups_portgroup_ident_delete_member [0.095453s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fece5a3b-2bd2-40f7-a45c-de3c9fa0f3ac X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_148_portgroups_portgroup_ident_delete_reader [0.083135s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d060b8c-974b-4a8e-bcff-8b776174a1f5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_149_nodes_portgroups_get_admin [0.088755s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-65b5f3ac-bf0c-40b8-a5ff-58661f83340b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_with_image_auth [0.275577s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_150_nodes_portgroups_get_member [0.084639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2ab9df4d-a488-4188-bdb7-284a9b9a9bc1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_image_utils.ISOCacheTestCase.test__download_image_iso [0.030865s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.ISOCacheTestCase.test_fetch_image_iso [0.029441s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.034380s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_151_nodes_portgroups_get_reader [0.074189s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a4208db2-cc96-4002-b34e-fc540814c8ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_localhost_as_url_ignored [0.028475s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_localhost_ignored [0.029258s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ip [0.026691s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ip_as_url [0.026010s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_normal_ipv6_as_url [0.029158s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_redfish_bmc_address_ipv6_brackets_no_scheme [0.025634s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_152_nodes_portgroups_get_service [0.171609s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9ebeea72-3d31-4a94-a917-7873c912a902 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_resolved_host [0.053935s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.GetBMCAddressesTestCase.test_resolved_host_in_url [0.027060s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__get_inspection_data_from_swift [0.035710s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__get_inspection_data_from_swift_exception [0.033433s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test__store_inspection_data_in_swift [0.033042s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_db [0.030541s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_db_exception [0.026059s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_nostore [0.025004s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_swift [0.026172s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_get_inspection_data_swift_exception [0.026190s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_153_nodes_portgroups_get_service_project [0.318990s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d52c7e1-6583-488b-8a52-13681eacfaa6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_db [0.029537s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_nostore [0.026865s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.IntrospectionDataStorageFunctionsTestCase.test_store_inspection_data_swift [0.027694s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_154_nodes_portgroups_get_service_project_disabled [0.083459s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-53b072c2-fe56-41c6-b6d9-ce82730e12b5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_clear [0.026394s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_new_value [0.027049s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.LookupCacheTestCase.test_replace_with_empty [0.026293s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_155_nodes_portgroups_detail_get_admin [0.084341s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef976e5f-2161-4dce-8cc4-8a2defcbe798 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:53.700538+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.070504s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_156_nodes_portgroups_detail_get_member [0.103897s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fe7dca2f-aebe-4f24-b704-a5d39d4b4f7b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:53.810461+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.053430s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.047243s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_157_nodes_portgroups_detail_get_reader [0.101563s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0100459-8335-4625-8b3a-c81a1f17482a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:53.914062+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.046616s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.028115s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.028065s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.026823s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_158_nodes_portgroups_detail_get_service [0.107392s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8f00d088-8d10-43fd-afdb-a31db8bdba27 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:53.994666+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.029184s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.055030s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_159_nodes_portgroups_detail_get_service_project [0.087525s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-631aeae8-7204-485f-a0ff-89c03807b4d8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2025-05-22T18:10:54.103037+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.053421s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_160_nodes_portgroups_detail_get_service_project_disabled [0.075429s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d61af51d-22ea-4935-beb9-36e3e6913886 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.051885s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.047414s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_161_ports_get_admin [0.081787s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-074ba87b-fde7-452f-9084-d2186cb86147 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.046387s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.044125s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_162_ports_get_service [0.077819s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2a4d38ac-fd22-410e-a836-02fbf68ac817 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.055534s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_163_ports_get_service_project [0.071299s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2226455f-3875-431e-b2d7-e27d9fd184d0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.076979s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_164_ports_get_service_project_disabled [0.080889s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9ad1e799-622d-42f8-981d-1741fa38e8c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.104982s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_165_ports_get_member [0.083219s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ae260db-19c9-4568-b12e-a28013ada135 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.046719s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_166_ports_get_reader [0.072303s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c33ee984-0417-4604-82e5-a288d44c7cf6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.051092s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.049428s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_167_ports_post_admin [0.088401s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca20d1b7-d1c9-4e88-b569-01abea8ff76f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.074489s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.040150s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_168_ports_post_member [0.118695s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000', 'address': '03:04:05:06:07:08'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bda9875c-075c-4cef-8df7-94a727a75a47 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.042601s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.050840s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_169_ports_post_reader [0.092522s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/ports WITH {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-31ab690b-ad52-4cf7-866f-36b45f5e5e1d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [0.063613s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.042214s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_170_ports_detail_get_admin [0.092840s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ebe897f1-af3b-40ec-8b53-b7541ed13e31 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:55.047687+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.047461s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_171_ports_detail_get_member [0.081188s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6feb639-1951-4ffe-8695-89c328645e61 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:55.134246+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.050415s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.060615s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_172_ports_detail_get_reader [0.073355s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-325eaecf-2d2e-4ff1-b4b5-35bb049da1f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:55.215860+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.071537s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_173_ports_port_id_get_admin [0.094025s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-14c60e3c-1365-45dc-9eb5-b468e86560ba X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:55.292946+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.070000s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.065738s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_174_ports_port_id_get_member [0.110606s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-679cff95-2e5d-4f58-96e4-080e90cc8009 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:55.402169+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.057828s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.067501s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_175_ports_port_id_get_reader [0.139629s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-38ee79e0-23a0-4751-955a-c5a7a2d1e6ff X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:55.538678+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.044996s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.049329s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.046013s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_176_ports_port_id_patch_admin [0.169130s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6a126119-8896-41f0-b4ae-43c741a5904c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.050081s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.044295s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_177_ports_port_id_patch_member [0.121791s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-108bbdc0-4560-4475-bb2f-2280583097ed X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_178_ports_port_id_patch_reader [0.096741s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e37492c6-f2ee-41d0-9a92-28366b031e11 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.259211s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_179_ports_port_id_delete_admin [0.090003s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-468cbbe3-0bb9-4740-800d-23a9ac15e426 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.057970s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_180_ports_port_id_delete_member [0.091668s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3aa3eaa0-9768-423c-8512-4c2453871d2b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.059959s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_disable_power_off [0.052147s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_181_ports_port_id_delete_reader [0.071463s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-676bbb04-3d90-441b-b0f1-e780d19dafdd X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.057306s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_182_nodes_ports_get_admin [0.094363s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0c90207-c152-47a8-97ad-360974d9e3cb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.071536s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.046095s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_183_nodes_ports_get_member [0.091509s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aae930f4-8184-4872-9969-a6e42d20bf83 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.046734s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.048499s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_184_nodes_ports_get_reader [0.083462s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-399e0983-f8a1-4622-9336-760351d7604b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.047575s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_185_nodes_ports_detail_get_admin [0.083567s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-421c82d0-59dc-45d7-a341-d292843a44be X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:56.561961+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_from_clean_step [0.046541s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_is_in_step_list [0.044167s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_186_nodes_ports_detail_get_member [0.091216s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a04323e0-e082-4195-bc45-c92c7d214e8a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:56.652422+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.054897s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.053152s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_187_nodes_ports_detail_get_reader [0.085319s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e6ced383-844f-4208-9cc5-58c99330c42b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2025-05-22T18:10:56.745691+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "description": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "portgroup_uuid": null}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.064100s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.045958s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_188_portgroups_ports_get_admin [0.099238s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0445f3d-cacf-477c-9dbb-db66952e9266 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.052324s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.046676s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.041154s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.048968s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.042620s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.045863s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_189_portgroups_ports_get_member [0.279056s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e6056010-bd47-49d7-b7d3-fea3184a24f3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.079492s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_190_portgroups_ports_get_reader [0.086062s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20393953-c108-43b7-9f57-18127d1d95e1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.057437s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_191_portgroups_ports_detail_get_admin [0.094297s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3a2e5367-9fed-4608-8a82-588d86370d0d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.095437s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_192_portgroups_ports_detail_get_member [0.076268s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7f82753a-2e43-4b4a-a6c7-e64d2ac1d136 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.051325s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.049967s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_193_portgroups_ports_detail_get_reader [0.089962s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4530dba5-675c-4c5d-828c-a93c65012f3c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"ports": []} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.051168s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_194_volume_get_admin [0.076744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-794c6305-e05e-4183-a343-5f685959ff12 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.125031s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_195_volume_get_member [0.112129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c3ef29e5-1741-46e8-b453-13a8e18594d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.087085s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_196_volume_get_reader [0.110552s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e26cde52-da26-4d30-a1db-bda862705283 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.058659s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes_with_http_method [0.044668s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.046937s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_197_volume_get_service [0.132041s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-867ec7a0-c392-4ca1-8a18-77da6577aac1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.039879s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.043309s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_198_volume_get_service_project [0.100664s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-87e1939f-8844-4c4d-8b4d-29f930081d53 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.053978s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.041692s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_199_volume_connectors_get_admin [0.075374s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-64146657-e7eb-47af-b52d-52c471903265 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "4bd148a6-9e37-4d8a-be0e-60eaa1693950", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/4bd148a6-9e37-4d8a-be0e-60eaa1693950", "rel": "self"}, {"href": "http://localhost/volume/connectors/4bd148a6-9e37-4d8a-be0e-60eaa1693950", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.053762s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.041480s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_200_volume_connectors_get_member [0.079425s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6f396a00-a3be-417a-a559-b2f7f9785c0e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "eca298c3-7157-46cc-86fc-c401c1dbb435", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/eca298c3-7157-46cc-86fc-c401c1dbb435", "rel": "self"}, {"href": "http://localhost/volume/connectors/eca298c3-7157-46cc-86fc-c401c1dbb435", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.048809s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_http_boot_enabled [0.044768s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_201_volume_connectors_get_reader [0.086947s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6bc50b93-d1e2-4482-9adb-1cc167407a72 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "77610e1e-600f-4a1e-8369-8273aa4d0da5", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/77610e1e-600f-4a1e-8369-8273aa4d0da5", "rel": "self"}, {"href": "http://localhost/volume/connectors/77610e1e-600f-4a1e-8369-8273aa4d0da5", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_202_volume_connectors_get_service [0.071730s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a68fc91d-235f-43b2-bd46-808ff9ccc1cc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "0e41b4c2-24f2-4601-81a0-c0c8bdd5500e", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/0e41b4c2-24f2-4601-81a0-c0c8bdd5500e", "rel": "self"}, {"href": "http://localhost/volume/connectors/0e41b4c2-24f2-4601-81a0-c0c8bdd5500e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk [0.086839s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_203_volume_connectors_get_service_project [0.076768s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-81aebc71-f9cf-472f-80ab-24caa53162c6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "07326223-c1ec-4a04-8b21-b18930406493", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/07326223-c1ec-4a04-8b21-b18930406493", "rel": "self"}, {"href": "http://localhost/volume/connectors/07326223-c1ec-4a04-8b21-b18930406493", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk_rescue [0.078469s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_204_volume_connectors_get_service_project_disable [0.076755s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aa1c60f3-ae6c-4d23-97ea-bc0ca38f4992 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": []} {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEHttpBootTestCase.test_prepare_ramdisk_uefi [0.083225s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.050937s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_205_volume_connectors_post_admin [0.082554s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/9e914e09-15a2-4679-954e-a1b0cde6f8e8 Openstack-Request-Id: req-922d688c-cd13-4900-b389-c3a469ddc4eb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "9e914e09-15a2-4679-954e-a1b0cde6f8e8", "created_at": "2025-05-22T18:10:58.596486+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/9e914e09-15a2-4679-954e-a1b0cde6f8e8", "rel": "self"}, {"href": "http://localhost/volume/connectors/9e914e09-15a2-4679-954e-a1b0cde6f8e8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.045820s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_206_volume_connectors_post_member [0.089610s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/e1c1aed5-222c-4825-8d38-6b20ad916d8d Openstack-Request-Id: req-e0587213-0225-4033-9c1e-4715e5d33dc7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e1c1aed5-222c-4825-8d38-6b20ad916d8d", "created_at": "2025-05-22T18:10:58.685019+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/e1c1aed5-222c-4825-8d38-6b20ad916d8d", "rel": "self"}, {"href": "http://localhost/volume/connectors/e1c1aed5-222c-4825-8d38-6b20ad916d8d", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.073071s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_207_volume_connectors_post_reader [0.075980s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-231ffb7b-f10a-4fbf-bdad-0d1b02e55a91 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_208_volume_connectors_post_service [0.097361s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/9e335763-f873-4166-94c0-90aff724af54 Openstack-Request-Id: req-e0d3a229-b2e3-4343-b891-7a8d3aee58d7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "9e335763-f873-4166-94c0-90aff724af54", "created_at": "2025-05-22T18:10:58.862058+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/9e335763-f873-4166-94c0-90aff724af54", "rel": "self"}, {"href": "http://localhost/volume/connectors/9e335763-f873-4166-94c0-90aff724af54", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_209_volume_connectors_post_service_project [0.085034s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/connectors WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/bb256493-45b8-4fb1-aa00-502f810657da Openstack-Request-Id: req-11d77358-7952-4133-a15f-d1182259d8ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "bb256493-45b8-4fb1-aa00-502f810657da", "created_at": "2025-05-22T18:10:58.947247+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/bb256493-45b8-4fb1-aa00-502f810657da", "rel": "self"}, {"href": "http://localhost/volume/connectors/bb256493-45b8-4fb1-aa00-502f810657da", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.268698s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.018546s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.020887s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_210_volume_volume_connector_id_get_admin [0.071236s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/514d8b20-1ebd-4731-9e89-9f2d3e2f53a3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8d13a3f-de55-48fc-9bcd-9d6348c5e8d1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "514d8b20-1ebd-4731-9e89-9f2d3e2f53a3", "created_at": "2025-05-22T18:10:58.997792+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/514d8b20-1ebd-4731-9e89-9f2d3e2f53a3", "rel": "self"}, {"href": "http://localhost/volume/connectors/514d8b20-1ebd-4731-9e89-9f2d3e2f53a3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.023534s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.021647s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.031397s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_211_volume_volume_connector_id_get_member [0.090330s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/1afa6a6d-c91f-4030-bd2d-74c6af0bd5d0 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-76bdc125-5758-4e98-8e78-bc3eeda02a98 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "1afa6a6d-c91f-4030-bd2d-74c6af0bd5d0", "created_at": "2025-05-22T18:10:59.078805+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1afa6a6d-c91f-4030-bd2d-74c6af0bd5d0", "rel": "self"}, {"href": "http://localhost/volume/connectors/1afa6a6d-c91f-4030-bd2d-74c6af0bd5d0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.046877s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.053707s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_212_volume_volume_connector_id_get_reader [0.093894s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/connectors/91f180e4-ac2e-4129-9a58-dcc111939cdb WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ee05a82-21be-4243-b27f-92c1605ade2b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "91f180e4-ac2e-4129-9a58-dcc111939cdb", "created_at": "2025-05-22T18:10:59.177112+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/91f180e4-ac2e-4129-9a58-dcc111939cdb", "rel": "self"}, {"href": "http://localhost/volume/connectors/91f180e4-ac2e-4129-9a58-dcc111939cdb", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.051721s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.036912s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_213_volume_volume_connector_id_patch_admin [0.083958s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/43a8eb33-2ad1-4b8d-ab9c-a24b78e61a1c WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6e4a9eef-bbe2-4175-b1c7-8bb1fee7cf09 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance [0.056908s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_214_volume_volume_connector_id_patch_member [0.084460s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/16b6e7ca-7946-48bd-a585-48ec3db80cf5 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4a9a0b3d-23d7-4fbb-b7f9-b066865ff60f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_active [0.055045s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_215_volume_volume_connector_id_patch_reader [0.077285s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/85a8a5ac-2ffd-4d21-8a21-9c26eb2d23cf WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-31ef2460-9bc9-44ff-8bbd-d3d816e37e10 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.071254s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.067872s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_216_volume_volume_connector_id_patch_service [0.084835s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/connectors/b1a13180-ba54-4e0f-aabe-44c5e282ae45 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3bab8fd-1f0d-41df-a7e7-f5d115fdb273 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_217_volume_volume_connector_id_delete_admin [0.086304s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/f6b13c85-90b1-4062-b162-308d21efe74f GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c83288d6-1e6f-4c16-ad3c-328961927cb6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_lenovo [0.094086s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_218_volume_volume_connector_id_delete_member [0.081344s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/33d7fb79-c505-46ec-9acc-3a58239ae889 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-49b69541-e7e9-49a2-a25a-00f27c115bb5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.089338s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.067825s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_219_volume_volume_connector_id_delete_reader [0.094444s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/32dcfecf-d468-4d88-befc-a56e742744c2 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-014d483b-ecda-4b7f-a2d5-db09c5c56f67 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.086230s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_bios [0.084034s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_220_volume_volume_connector_id_delete_service [0.188149s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/connectors/10db5b0d-4a40-4249-9b56-1e87b28a6315 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-091f1e02-8fc1-4a82-ae80-9a4435c1bfd4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.086775s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_221_volume_targets_get_admin [0.143616s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-096e4070-0a00-4e5c-b8e1-a584ee5ace05 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "24c2cce3-d815-4d83-b134-cc3be9fc6c13", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/24c2cce3-d815-4d83-b134-cc3be9fc6c13", "rel": "self"}, {"href": "http://localhost/volume/targets/24c2cce3-d815-4d83-b134-cc3be9fc6c13", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.092053s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.074371s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_222_volume_targets_get_member [0.088586s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-21b4266f-c504-4fb5-a787-1e0591b5b024 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "6d748398-6138-4c26-8acb-688c154f0901", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/6d748398-6138-4c26-8acb-688c154f0901", "rel": "self"}, {"href": "http://localhost/volume/targets/6d748398-6138-4c26-8acb-688c154f0901", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_223_volume_targets_get_reader [0.093954s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d62b06c4-f8e6-41cf-add3-a3beadb2663d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "28992ef7-84a2-4a1d-bfd9-dcab59658002", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/28992ef7-84a2-4a1d-bfd9-dcab59658002", "rel": "self"}, {"href": "http://localhost/volume/targets/28992ef7-84a2-4a1d-bfd9-dcab59658002", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.122200s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.075597s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_224_volume_targets_get_service [0.096861s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-264035a5-991b-42a5-b838-664b13373894 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "17460efe-aabb-49fb-ac1b-e4ab6796308e", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/17460efe-aabb-49fb-ac1b-e4ab6796308e", "rel": "self"}, {"href": "http://localhost/volume/targets/17460efe-aabb-49fb-ac1b-e4ab6796308e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.074111s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.067168s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.096267s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_225_volume_targets_post_admin [0.262560s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/626ff32c-3c9c-4c9d-ac02-2e520731d8b3 Openstack-Request-Id: req-8914fcd1-faa1-48c7-9e0d-17d12a2bb67d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "626ff32c-3c9c-4c9d-ac02-2e520731d8b3", "created_at": "2025-05-22T18:11:00.681937+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/626ff32c-3c9c-4c9d-ac02-2e520731d8b3", "rel": "self"}, {"href": "http://localhost/volume/targets/626ff32c-3c9c-4c9d-ac02-2e520731d8b3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.090844s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_226_volume_targets_post_member [0.110249s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/176661ea-472d-438f-a038-c0b8082cd572 Openstack-Request-Id: req-46132db9-ba3d-41a8-8b04-4bec4b7c7ad4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "176661ea-472d-438f-a038-c0b8082cd572", "created_at": "2025-05-22T18:11:00.791410+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/176661ea-472d-438f-a038-c0b8082cd572", "rel": "self"}, {"href": "http://localhost/volume/targets/176661ea-472d-438f-a038-c0b8082cd572", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.080134s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_227_volume_targets_post_service [0.097153s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/3ae2f2d8-9ef4-42a2-8318-654840b2f4a4 Openstack-Request-Id: req-bfef3907-05d6-4e6e-8915-e46e83f9103e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3ae2f2d8-9ef4-42a2-8318-654840b2f4a4", "created_at": "2025-05-22T18:11:00.888634+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3ae2f2d8-9ef4-42a2-8318-654840b2f4a4", "rel": "self"}, {"href": "http://localhost/volume/targets/3ae2f2d8-9ef4-42a2-8318-654840b2f4a4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.111465s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_228_volume_targets_post_service_project [0.089411s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/bc8e66eb-6237-46bb-a86b-09c0bc3a5345 Openstack-Request-Id: req-b577d2e1-7da6-4729-a9aa-05f96d9b2ad9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "bc8e66eb-6237-46bb-a86b-09c0bc3a5345", "created_at": "2025-05-22T18:11:00.980021+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/bc8e66eb-6237-46bb-a86b-09c0bc3a5345", "rel": "self"}, {"href": "http://localhost/volume/targets/bc8e66eb-6237-46bb-a86b-09c0bc3a5345", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.099009s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_229_volume_targets_post_service_project_disabled [0.100613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3c153a9f-6920-4cdf-89e9-ed0bf8d07603 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.059643s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.045970s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_230_volume_targets_post_service_project_admin [0.073254s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-251e0a8b-7b54-4a65-b786-8b620231ce33 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.044911s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_231_volume_targets_post_reader [0.070498s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/volume/targets WITH {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-70db5ab1-2089-4059-914f-43bff0361a6c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_232_volume_volume_target_id_get_admin [0.077237s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/93bd9a45-135f-4ba1-b114-08f8e3a4cd96 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f9b8bd6f-6f7e-4dcf-b49a-b027260b40de X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "93bd9a45-135f-4ba1-b114-08f8e3a4cd96", "created_at": "2025-05-22T18:11:01.273848+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/93bd9a45-135f-4ba1-b114-08f8e3a4cd96", "rel": "self"}, {"href": "http://localhost/volume/targets/93bd9a45-135f-4ba1-b114-08f8e3a4cd96", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_233_volume_volume_target_id_get_member [0.102791s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/4e838f77-a7f1-450f-9979-cbca252044e9 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9bf97d31-5d94-4d77-bd79-e5ddcbbd7465 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "4e838f77-a7f1-450f-9979-cbca252044e9", "created_at": "2025-05-22T18:11:01.365518+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/4e838f77-a7f1-450f-9979-cbca252044e9", "rel": "self"}, {"href": "http://localhost/volume/targets/4e838f77-a7f1-450f-9979-cbca252044e9", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_234_volume_volume_target_id_get_reader [0.083935s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/24f3328b-85e0-426f-9537-6eaca011cc0e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b4f793d8-b978-4ac2-8186-1800ba747cb8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "24f3328b-85e0-426f-9537-6eaca011cc0e", "created_at": "2025-05-22T18:11:01.464335+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/24f3328b-85e0-426f-9537-6eaca011cc0e", "rel": "self"}, {"href": "http://localhost/volume/targets/24f3328b-85e0-426f-9537-6eaca011cc0e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.303180s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.066930s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_235_volume_volume_target_id_get_service [0.096571s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/volume/targets/3415d2a0-ef00-460f-ac0d-e9fda4b0c2f3 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1cac0ad4-9ebb-4807-a792-7c9ffa632a6d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3415d2a0-ef00-460f-ac0d-e9fda4b0c2f3", "created_at": "2025-05-22T18:11:01.564664+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3415d2a0-ef00-460f-ac0d-e9fda4b0c2f3", "rel": "self"}, {"href": "http://localhost/volume/targets/3415d2a0-ef00-460f-ac0d-e9fda4b0c2f3", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.073996s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_236_volume_volume_target_id_patch_admin_extra [0.095335s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/a6e2852b-ad31-4c73-8254-6ee74d859ac6 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4df0b70f-efec-4225-89c0-91b14718bc0a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.052163s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.072545s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_237_volume_volume_target_id_patch_admin [0.082337s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/c87d35bd-ff4f-4655-b544-dd721dbdc4bb WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-68df7ec5-5ed5-4d2d-9e44-925a9f17dbcf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.040353s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_non_local [0.059270s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_238_volume_volume_target_id_patch_reader [0.120783s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/af7e5b70-0603-4400-97c0-06a715fa4587 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-517b282c-37d9-46a1-ba34-d98b24119b0d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.084828s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_239_volume_volume_target_id_patch_service_disabled [0.098418s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/f59e58f6-b0d4-4e91-afaf-40339a9dad12 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-75a8d38d-a51d-43a0-b2cc-7b4477c3a552 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.041337s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_240_volume_volume_target_id_patch_service [0.083765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/volume/targets/46aba9ef-9433-42b5-bc04-b3fca92621ee WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-43dcedd4-34f0-4aaf-8d1d-765356d3b5a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.090514s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.073653s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_241_volume_volume_target_id_delete_admin [0.110085s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/126062ac-d5b1-4203-bfb4-847cce88f127 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7402ec6d-1b8a-4ddd-ae00-ce4ebf84b0d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.087904s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_242_volume_volume_target_id_delete_member [0.088203s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/f9edb95b-096d-4d89-8c3d-8738fc9e0e32 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-dbeab7c0-363c-49a2-80ba-cea0d4345b87 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_client [0.054707s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.064080s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_243_volume_volume_target_id_delete_reader [0.098095s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/c913ae7c-4218-4a43-a15b-9772b8f0311e GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-69598fa8-6a9f-4ab5-b848-06ca42c6a9b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.112622s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_244_volume_volume_target_id_delete_service [0.114101s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/volume/targets/785be16c-e497-422b-809d-43970f5229dc GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d458c245-37c3-4000-b8c9-610935b5a710 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.087434s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_245_nodes_volume_get_admin [0.090554s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1c87e721-54ed-4bf2-96f2-d4a1df6c7bfb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.068163s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_246_nodes_volume_get_member [0.112961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-577f584b-fdc6-47a6-b4ff-7b3f40041ded X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.057607s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.053007s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_247_nodes_volume_get_reader [0.112511s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9cae3f0d-e506-4ca1-93be-e69a67c553b3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.095257s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_248_nodes_volume_connectors_get_admin [0.094610s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8e91b09-e4da-4c77-ad83-076601e5ff41 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "a2fb3659-914d-4fd4-a020-fa1f15878555", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/a2fb3659-914d-4fd4-a020-fa1f15878555", "rel": "self"}, {"href": "http://localhost/volume/connectors/a2fb3659-914d-4fd4-a020-fa1f15878555", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.068728s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.053116s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.077316s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_249_nodes_volume_connectors_get_member [0.175915s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-84134294-2494-4c18-af82-ffc52d667e07 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "d56ade93-94bb-4aa9-a171-d041e0801bd6", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/d56ade93-94bb-4aa9-a171-d041e0801bd6", "rel": "self"}, {"href": "http://localhost/volume/connectors/d56ade93-94bb-4aa9-a171-d041e0801bd6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.054057s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.095986s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_250_nodes_volume_connectors_get_reader [0.180446s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-245d61b7-cd9d-42fa-a799-353384f2c064 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"connectors": [{"uuid": "b3807550-b2ba-4911-bdd4-3a6d014c18ad", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/b3807550-b2ba-4911-bdd4-3a6d014c18ad", "rel": "self"}, {"href": "http://localhost/volume/connectors/b3807550-b2ba-4911-bdd4-3a6d014c18ad", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.065829s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.089978s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.028100s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.023065s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.023790s] ... ok {2} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.043794s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.054212s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.034123s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_251_nodes_volume_targets_get_admin [0.324943s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec465875-9a31-4cd5-a73d-f7c5371a66d2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "59a4cc05-1793-41e7-bcef-65429878b40c", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/59a4cc05-1793-41e7-bcef-65429878b40c", "rel": "self"}, {"href": "http://localhost/volume/targets/59a4cc05-1793-41e7-bcef-65429878b40c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.024320s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.054065s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.032831s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.024469s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_252_nodes_volume_targets_get_member [0.373774s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5beda125-0de9-41db-9716-c9d76f42da30 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "15aef3b7-e0db-4f9b-be7c-0844f58688ab", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/15aef3b7-e0db-4f9b-be7c-0844f58688ab", "rel": "self"}, {"href": "http://localhost/volume/targets/15aef3b7-e0db-4f9b-be7c-0844f58688ab", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.298024s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.025800s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.026356s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.042315s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.036535s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.022124s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.029062s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_253_nodes_volume_targets_get_reader [0.267074s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c02a51fb-f996-4ba2-bb36-224067a84f50 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"targets": [{"uuid": "131dd020-f26a-48ca-96cf-2d97cd5d4b30", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/131dd020-f26a-48ca-96cf-2d97cd5d4b30", "rel": "self"}, {"href": "http://localhost/volume/targets/131dd020-f26a-48ca-96cf-2d97cd5d4b30", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.033701s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.081769s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_254_drivers_get_admin [0.107875s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf27f42a-f956-4e4d-888e-13d2ac5f3063 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"drivers": []} {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.064367s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.105053s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.028907s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.032996s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.034612s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.031327s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_255_drivers_get_member [0.324564s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-849bacad-40cf-4046-8265-2d3b6ceda158 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"drivers": []} {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.036249s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.056941s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_256_drivers_get_reader [0.073975s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6a9e78f5-6da5-4a58-81b6-6bdd58193a7f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"drivers": []} {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.070777s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_257_drivers_driver_name_get_admin [0.090244s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7626711d-9a83-4258-b2fe-b0aa195e4e88 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.053377s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_258_drivers_driver_name_get_member [0.078797s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7759c837-ec73-417c-b2a4-6511108ac264 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.061936s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.031637s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.025062s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_259_drivers_driver_name_get_reader [0.102037s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2161b5a2-7665-4738-b13a-75d7af5365aa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.102645s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_260_drivers_properties_get_admin [0.082308s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-71ddead5-e6d9-4ba9-a8d0-b1f418602900 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.031066s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.030408s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.028111s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_261_drivers_properties_get_member [0.076821s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e69be92-2e92-4a46-809b-d1ddc02e23ce X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.022311s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.025095s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_262_drivers_properties_get_reader [0.066733s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-def44755-1d51-4b63-88cc-e3028baf82e8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.025922s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.030120s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.022304s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_263_drivers_raid_logical_disk_properties_get_admin [0.063784s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ac1a6381-cfdc-45bd-ad3a-00091a54358a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.027816s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.024179s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_264_drivers_raid_logical_disk_properties_get_member [0.062646s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8d3d38e9-dd00-4222-9fb6-d20938014899 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.035001s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.024459s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.033029s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_265_drivers_raid_logical_disk_properties_get_reader [0.082893s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/raid/logical_disk_properties WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-750e50b1-8041-4353-aaac-561f32c02d71 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.019801s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.023029s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.032193s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.032129s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.030132s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_266_drivers_vendor_passthru_methods_get_admin [0.123230s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2b081bb2-612a-4a59-91f0-d8a704008fb4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.020524s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.030761s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_267_drivers_vendor_passthru_methods_get_member [0.071639s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-16c2ca0d-76cf-4ab1-84ed-e95534799a5e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.038046s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.024370s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.023524s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_268_drivers_vendor_passthru_methods_get_reader [0.065033s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru/methods WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c104bdce-00f5-4b22-bb39-98d910030584 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.018916s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.019737s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.022022s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.023939s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_269_drivers_vendor_passthru_get_admin [0.094666s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a6a2b66-f52e-40d2-aaf3-a798cde1936f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.021128s] ... ok {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.019204s] ... ok {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.019142s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.020052s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_270_drivers_vendor_passthru_get_member [0.065186s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-38b7aa1b-03cb-4c1c-9938-6faf8bdfe782 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.031945s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.038812s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_271_drivers_vendor_passthru_get_reader [0.081936s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/drivers/fake-driverz/vendor_passthru?method=test WITH {} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-871d5ab9-c250-4fe7-894e-010b35d16273 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.021970s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.023057s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.021465s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.022538s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_272_drivers_vendor_passthru_post_admin [0.088438s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-95689e71-9440-4b64-a60a-a61fa4906e69 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.021591s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.020712s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.020336s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.022662s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.020446s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.026631s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_273_drivers_vendor_passthru_post_member [0.121076s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-31011ecc-4f00-4add-947e-55b5c696ed75 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.024221s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.020750s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.021363s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_274_drivers_vendor_passthru_post_reader [0.072478s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-42fb7fd7-91ae-4def-8444-3cc3d2fa6e91 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.023177s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_275_drivers_vendor_passthru_put_admin [0.067786s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-89592a48-9442-4cdf-9ecf-00b8c9801193 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.076019s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.022805s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_276_drivers_vendor_passthru_put_member [0.067421s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e10e722-7da2-42eb-b910-ca1ba94424a9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.031787s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.022915s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.024367s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_277_drivers_vendor_passthru_put_reader [0.061108s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PUT /v1/drivers/fake-driverz/vendor_passthru?method=test WITH None GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-180e719d-2fa5-4471-88b4-7b7010ff4ceb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.026342s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_278_drivers_vendor_passthru_delete_admin [0.066587s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/drivers/fake-driverz/vendor_passthru?method=test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d0056515-09b5-486d-a483-b3cd1cfd6020 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_279_drivers_vendor_passthru_delete_member [0.100457s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/drivers/fake-driverz/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0c9ac20-07f5-49eb-9a29-0b532497f14c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_280_drivers_vendor_passthru_delete_reader [0.114831s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/drivers/fake-driverz/vendor_passthru?method=test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aebb5d00-a6e8-42fe-b068-19b4a4be1bdc X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.270557s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.028528s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_281_nodes_bios_get_admin [0.080518s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd57d537-3781-4116-a160-a61a7ff51a37 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"bios": [{"created_at": "2025-05-22T18:11:06.814815+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.048210s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.074082s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_282_nodes_bios_get_member [0.095782s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-071f3fd3-9204-40d4-a1e4-e0c9e63fb284 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"bios": [{"created_at": "2025-05-22T18:11:06.905697+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.048565s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.031051s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_283_nodes_bios_get_reader [0.082229s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91a73a7b-0e3e-43d0-9814-903a4dc2d9f6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"bios": [{"created_at": "2025-05-22T18:11:06.992694+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.024999s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.025397s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.032566s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_284_nodes_bios_bios_setting_get_admin [0.088163s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5438befe-669b-44f9-a6c4-30ef0e982594 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"FAKE_SETTING": {"created_at": "2025-05-22T18:11:07.078026+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.027731s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.023392s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.023751s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_285_nodes_bios_bios_setting_get_member [0.078799s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3bb195a2-8d52-4c82-b21c-708947730828 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"FAKE_SETTING": {"created_at": "2025-05-22T18:11:07.162457+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.036911s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.027415s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.023796s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_286_nodes_bios_bios_setting_get_reader [0.095166s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-25a7be57-b32f-4c95-bd6b-1ffc324e0b4a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"FAKE_SETTING": {"created_at": "2025-05-22T18:11:07.260748+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.022827s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.022419s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.022242s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.029442s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_287_conductors_get_admin [0.096001s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d96093f3-4a24-40af-8349-b84ee9275b6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.023083s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.027125s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.022966s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_288_conductors_get_member [0.067799s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83f272ed-51ac-434c-b889-c76f4ddd5b80 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.023703s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.026372s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.025947s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_289_conductors_get_reader [0.088265s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7644eb21-f6dc-454a-9fb4-b1fa03a6cca9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.023742s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.022849s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_290_conductors_hostname_get_admin [0.067225s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-36e811f0-f915-4162-b583-ee0558cf9e77 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:11:07.579746+00:00", "updated_at": "2025-05-22T18:11:07.580485+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.024124s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.034747s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_291_conductors_hostname_get_member [0.074013s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8b691562-93ed-4c24-bec5-b7764baf2add X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:11:07.658862+00:00", "updated_at": "2025-05-22T18:11:07.659474+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.040270s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.024613s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.026874s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.031135s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.025478s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_292_conductors_hostname_get_reader [0.124333s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/conductors/test-conductor-node WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e27cac57-f315-43cf-9b46-5eb36f08e8fa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"created_at": "2025-05-22T18:11:07.734772+00:00", "updated_at": "2025-05-22T18:11:07.735584+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.025839s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.024591s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.031554s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_293_allocations_post_admin [0.105520s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6c4244eb-611f-4477-b3bf-6848450f9c57 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.030777s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.024757s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.023746s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.032416s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.046583s] ... ok {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_change_state [0.027131s] ... ok {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_deny_macs [0.032352s] ... ok {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_no_macs [0.054155s] ... ok {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_only_new_macs [0.024940s] ... ok {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestSync.test_removed_nodes [0.025299s] ... ok {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_no_update [0.023919s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_294_allocations_post_member [0.346301s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3eea6112-b9db-45db-8193-ebdff44b5332 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_only_allow [0.032454s] ... ok {2} ironic.tests.unit.pxe_filter.test_dnsmasq.TestUpdate.test_only_deny [0.057844s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_295_allocations_post_reader [0.091840s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/allocations WITH {'resource_class': 'CUSTOM_TEST'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4195ba09-4b6b-4430-bfa0-5e444a037b7a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} {2} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.030198s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_296_allocations_get_admin [0.090313s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-858aa2ba-cf0c-465e-a8fa-efadbe939e20 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "a4baec62-4c62-40d1-a74c-2ec4ef031ba8", "created_at": "2025-05-22T18:11:08.394611+00:00", "updated_at": "2025-05-22T18:11:08.399553+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a4baec62-4c62-40d1-a74c-2ec4ef031ba8", "rel": "self"}, {"href": "http://localhost/allocations/a4baec62-4c62-40d1-a74c-2ec4ef031ba8", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_297_allocations_get_member [0.086437s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-031916e6-2ace-4049-a36c-5c9402104fc1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "f6e43a90-2015-49aa-a1f3-0b96dccf28ed", "created_at": "2025-05-22T18:11:08.479146+00:00", "updated_at": "2025-05-22T18:11:08.483728+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f6e43a90-2015-49aa-a1f3-0b96dccf28ed", "rel": "self"}, {"href": "http://localhost/allocations/f6e43a90-2015-49aa-a1f3-0b96dccf28ed", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_298_allocations_get_reader [0.130468s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c360062-fcd2-4f3f-8955-afab041b605c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"allocations": [{"uuid": "3053b977-1070-4036-a393-0e0f68331692", "created_at": "2025-05-22T18:11:08.580572+00:00", "updated_at": "2025-05-22T18:11:08.584984+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3053b977-1070-4036-a393-0e0f68331692", "rel": "self"}, {"href": "http://localhost/allocations/3053b977-1070-4036-a393-0e0f68331692", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_299_allocations_allocation_id_get_admin [0.093475s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/84337072-9478-4b52-a307-db9261f55a29 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0dff3181-e172-4a7b-80d1-95db1260649e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "84337072-9478-4b52-a307-db9261f55a29", "created_at": "2025-05-22T18:11:08.714974+00:00", "updated_at": "2025-05-22T18:11:08.719010+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/84337072-9478-4b52-a307-db9261f55a29", "rel": "self"}, {"href": "http://localhost/allocations/84337072-9478-4b52-a307-db9261f55a29", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_300_allocations_allocation_id_get_member [0.083845s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/b5452b43-afe1-4314-960c-2366cd00fa47 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f906c207-6ab3-4d6d-8b4a-83db77a73452 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "b5452b43-afe1-4314-960c-2366cd00fa47", "created_at": "2025-05-22T18:11:08.813106+00:00", "updated_at": "2025-05-22T18:11:08.817198+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b5452b43-afe1-4314-960c-2366cd00fa47", "rel": "self"}, {"href": "http://localhost/allocations/b5452b43-afe1-4314-960c-2366cd00fa47", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_301_allocations_allocation_id_get_reader [0.090373s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/allocations/e5e4e064-fd91-42af-90d8-9ca60b1d8900 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-805fcce7-dce3-42c9-8445-09913a076aeb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e5e4e064-fd91-42af-90d8-9ca60b1d8900", "created_at": "2025-05-22T18:11:08.883770+00:00", "updated_at": "2025-05-22T18:11:08.890247+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e5e4e064-fd91-42af-90d8-9ca60b1d8900", "rel": "self"}, {"href": "http://localhost/allocations/e5e4e064-fd91-42af-90d8-9ca60b1d8900", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_302_allocations_allocation_id_patch_admin [0.115171s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/33851ace-9dcb-4f8e-819f-f8575f9af0df WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-418dcc16-a3f1-4ac6-8db4-582c41e8aa24 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "33851ace-9dcb-4f8e-819f-f8575f9af0df", "created_at": "2025-05-22T18:11:08.975188+00:00", "updated_at": "2025-05-22T18:11:09.053691+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/33851ace-9dcb-4f8e-819f-f8575f9af0df", "rel": "self"}, {"href": "http://localhost/allocations/33851ace-9dcb-4f8e-819f-f8575f9af0df", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_303_allocations_allocation_id_patch_member [0.147649s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/79ace5e0-7e1f-4d39-ac28-97e41f170e24 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fdeb3a68-e8ad-40f5-8918-f1ff5ecfcc9b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "79ace5e0-7e1f-4d39-ac28-97e41f170e24", "created_at": "2025-05-22T18:11:09.135945+00:00", "updated_at": "2025-05-22T18:11:09.204911+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/79ace5e0-7e1f-4d39-ac28-97e41f170e24", "rel": "self"}, {"href": "http://localhost/allocations/79ace5e0-7e1f-4d39-ac28-97e41f170e24", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_304_allocations_allocation_id_patch_reader [0.071055s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/allocations/68418a39-1519-4214-8dbb-71dc18d1c0f3 WITH [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7ae69fbd-be79-4b89-b0c2-a5ae01ce57a5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_305_allocations_allocation_id_delete_admin [0.076028s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/495a3949-fd4b-4722-9656-bcae1f2fcf17 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f7cb31cd-9f8a-4904-a3ef-66cbfc627104 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_306_allocations_allocation_id_delete_member [0.078481s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/7db338c2-d89d-4dcf-8866-a769c8fd4334 GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-451e9ed6-cee4-48c4-823b-20099d2372e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_307_allocations_allocation_id_delete_reader [0.068443s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/allocations/c10fd0cb-aaff-4ec4-926b-1185e44eaff0 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8ecaf9db-d773-470c-ab0f-891c168e0346 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_308_nodes_allocation_get_admin [0.088518s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-41eec18a-664e-4dc2-a880-526229acae6a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "29c0b6cb-6d53-42e8-ad17-9b69f4568077", "created_at": "2025-05-22T18:11:09.554012+00:00", "updated_at": "2025-05-22T18:11:09.566425+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/29c0b6cb-6d53-42e8-ad17-9b69f4568077", "rel": "self"}, {"href": "http://localhost/allocations/29c0b6cb-6d53-42e8-ad17-9b69f4568077", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_309_nodes_allocation_get_member [0.074436s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-460945d0-8c0d-4bc1-86e4-8e3d8de6a1b9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "220460f1-a8bb-4d71-a0ee-4108ff8edcc3", "created_at": "2025-05-22T18:11:09.636918+00:00", "updated_at": "2025-05-22T18:11:09.640919+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/220460f1-a8bb-4d71-a0ee-4108ff8edcc3", "rel": "self"}, {"href": "http://localhost/allocations/220460f1-a8bb-4d71-a0ee-4108ff8edcc3", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_310_nodes_allocation_get_reader [0.077405s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a2005c8-60fc-44f5-b07c-15d455c581e9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e42c44e4-a96d-4d88-9180-83a3e230a4c2", "created_at": "2025-05-22T18:11:09.719950+00:00", "updated_at": "2025-05-22T18:11:09.723984+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e42c44e4-a96d-4d88-9180-83a3e230a4c2", "rel": "self"}, {"href": "http://localhost/allocations/e42c44e4-a96d-4d88-9180-83a3e230a4c2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_311_nodes_allocation_delete_admin [0.088474s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c2bf269a-e4de-4c6c-b6d1-6a69f88566cb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_312_nodes_allocation_delete_member [0.080959s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5b8fa429-f0f2-424e-8b77-12335145b6c9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_313_nodes_allocation_delete_reader [0.080036s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3bf4f1ab-7008-4586-a11b-e2a57d0088f2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_314_deploy_templates_post_admin [0.076397s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/3be1389b-66b4-49f5-9143-39bc5d7642e5 Openstack-Request-Id: req-9bba5c8d-777a-4d30-b7e1-cddd121dade1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3be1389b-66b4-49f5-9143-39bc5d7642e5", "created_at": "2025-05-22T18:11:10.095770+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3be1389b-66b4-49f5-9143-39bc5d7642e5", "rel": "self"}, {"href": "http://localhost/deploy_templates/3be1389b-66b4-49f5-9143-39bc5d7642e5", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_315_deploy_templates_post_member [0.072024s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8831f3c0-a413-4781-8bf4-55b3566c6e82 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_316_deploy_templates_post_reader [0.070078s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/deploy_templates WITH {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8024f868-bc87-4728-b317-17cebbf0f490 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_317_deploy_templates_get_admin [0.074910s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a4db2c4-cd13-4a14-b575-808d7c6863e0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "e9b9f6a9-88bd-480d-9506-8d42f1474012", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e9b9f6a9-88bd-480d-9506-8d42f1474012", "rel": "self"}, {"href": "http://localhost/deploy_templates/e9b9f6a9-88bd-480d-9506-8d42f1474012", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_318_deploy_templates_get_member [0.065931s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9ba5faf4-e9ae-4feb-83f8-6e52ff4cdb9b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "93ff6991-8962-4749-8b6b-71e250558c14", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/93ff6991-8962-4749-8b6b-71e250558c14", "rel": "self"}, {"href": "http://localhost/deploy_templates/93ff6991-8962-4749-8b6b-71e250558c14", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_319_deploy_templates_get_reader [0.069868s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f8c057ca-a043-44fa-940c-b09b643e1a5a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"deploy_templates": [{"uuid": "08ce85b6-b6bd-4de3-a8fc-7ed75eb0ea93", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/08ce85b6-b6bd-4de3-a8fc-7ed75eb0ea93", "rel": "self"}, {"href": "http://localhost/deploy_templates/08ce85b6-b6bd-4de3-a8fc-7ed75eb0ea93", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_320_deploy_templates_deploy_template_id_get_admin [0.072709s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/47542dd5-c9f4-48c9-8813-3d9536369266 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5623766e-503f-4850-9955-373966624f81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "47542dd5-c9f4-48c9-8813-3d9536369266", "created_at": "2025-05-22T18:11:10.507974+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/47542dd5-c9f4-48c9-8813-3d9536369266", "rel": "self"}, {"href": "http://localhost/deploy_templates/47542dd5-c9f4-48c9-8813-3d9536369266", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_321_deploy_templates_deploy_template_id_get_member [0.079678s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/d0711b38-06dc-4488-a19c-d60f72583cdb WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e81c36c3-86e9-4f27-8754-c397b7efa14d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "d0711b38-06dc-4488-a19c-d60f72583cdb", "created_at": "2025-05-22T18:11:10.588257+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d0711b38-06dc-4488-a19c-d60f72583cdb", "rel": "self"}, {"href": "http://localhost/deploy_templates/d0711b38-06dc-4488-a19c-d60f72583cdb", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_322_deploy_templates_deploy_template_id_get_reader [0.067540s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/deploy_templates/ecd5c963-b86f-45f6-b4ff-f7d3e60be15a WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bda1612d-1182-477b-abaa-947b125d8607 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ecd5c963-b86f-45f6-b4ff-f7d3e60be15a", "created_at": "2025-05-22T18:11:10.657200+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ecd5c963-b86f-45f6-b4ff-f7d3e60be15a", "rel": "self"}, {"href": "http://localhost/deploy_templates/ecd5c963-b86f-45f6-b4ff-f7d3e60be15a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_323_deploy_templates_deploy_template_id_patch_admin [0.104834s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/967d8c85-25de-477a-8493-299fe834a6f9 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3737055e-8471-4dfc-8176-eb911520db8b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "967d8c85-25de-477a-8493-299fe834a6f9", "created_at": "2025-05-22T18:11:10.725956+00:00", "updated_at": "2025-05-22T18:11:10.785812+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/967d8c85-25de-477a-8493-299fe834a6f9", "rel": "self"}, {"href": "http://localhost/deploy_templates/967d8c85-25de-477a-8493-299fe834a6f9", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_324_deploy_templates_deploy_template_id_patch_member [0.075469s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/f647cd98-d587-47c1-965b-a5b0a048c5a7 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b376166b-11c4-4fc6-b076-de597cbcc922 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_325_deploy_templates_deploy_template_id_patch_reader [0.078223s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/deploy_templates/8de19888-3ae5-4cd8-b6e7-70a56677b329 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7e9b2ab5-d5d6-4b0f-8720-d99806bd7eda X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_326_deploy_templates_deploy_template_id_delete_admin [0.078744s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/cd2d03f6-0fb1-4253-96d8-c3d557f6044c GOT Response: 204 No Content Openstack-Request-Id: req-5c738500-b85f-48ea-af94-7e8b30552b3f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_327_deploy_templates_deploy_template_id_delete_member [0.077030s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/a74ac355-eae5-4359-a687-677e1411ee44 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a10f02f4-9483-4df2-aca3-dbb0c74140ab X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_328_deploy_templates_deploy_template_id_delete_reader [0.075985s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/deploy_templates/e588e51c-b39f-46c7-a8ca-d2c050f202a5 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-87bdc164-d9ac-43ce-b319-58f1ffbc5715 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_329_chassis_post_admin [0.280940s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/9536c124-3ab6-4c2d-a72c-e3e0819c1e78 Openstack-Request-Id: req-9b0c499f-4ff2-45bb-984a-f52e42ec0961 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "9536c124-3ab6-4c2d-a72c-e3e0819c1e78", "created_at": "2025-05-22T18:11:11.462423+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/9536c124-3ab6-4c2d-a72c-e3e0819c1e78", "rel": "self"}, {"href": "http://localhost/chassis/9536c124-3ab6-4c2d-a72c-e3e0819c1e78", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/9536c124-3ab6-4c2d-a72c-e3e0819c1e78/nodes", "rel": "self"}, {"href": "http://localhost/chassis/9536c124-3ab6-4c2d-a72c-e3e0819c1e78/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_330_chassis_post_member [0.066821s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a69f4bb8-8aa9-4866-8746-a9db6c776653 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_331_chassis_post_reader [0.064551s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/chassis WITH {'description': 'test-chassis'} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-49c2c2d2-2f64-40b6-a421-0677da1b9fc0 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_332_chassis_get_admin [0.065106s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2ab1576-8954-48e1-adf7-18252913bd5f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_333_chassis_get_member [0.078313s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-774e0f56-d459-4c95-8884-3ade5fecbfdb X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_334_chassis_get_reader [0.062888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-71886628-8497-431e-b654-e5da70252fdf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_335_chassis_get_service [0.064647s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7fb15ea-8579-4492-9b78-938960f6c7cf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_336_chassis_detail_get_admin [0.074888s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eddf46c5-555e-49e7-82d7-96168be6ceaa X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:11:11.912634+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_337_chassis_detail_get_member [0.089930s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-637b0864-00b7-44e4-a808-6c3995546db3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:11:12.005609+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_338_chassis_detail_get_reader [0.069151s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/detail WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ddcf8336-0ffb-4753-bc10-7f28d087db15 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:11:12.082929+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_339_chassis_chassis_id_get_admin [0.086636s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-caf9da4d-76af-432c-bb4b-39dfe97ba5c5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:11:12.156591+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_340_chassis_chassis_id_get_member [0.099385s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-baa8d462-e2ef-4bd6-9a8b-1ed2832949a2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:11:12.243933+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_341_chassis_chassis_id_get_reader [0.102055s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23a8b2fe-843d-4d83-b1b7-b37720f9c1e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:11:12.368101+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_342_chassis_chassis_id_patch_admin [0.109051s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a5e778e7-fff9-4ec9-a011-dd006ec4a929 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:11:12.451085+00:00", "updated_at": "2025-05-22T18:11:12.507558+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_343_chassis_chassis_id_patch_member [0.092499s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cbe3f924-6056-4831-8e98-8a5597989f78 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2025-05-22T18:11:12.562086+00:00", "updated_at": "2025-05-22T18:11:12.598636+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_344_chassis_chassis_id_patch_reader [0.108434s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 WITH [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7e3484e5-b44b-47e2-af24-547bb6ef7411 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_345_chassis_chassis_id_delete_admin [0.073655s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 204 No Content Openstack-Request-Id: req-80f91f61-902c-43db-9c6c-09765d495541 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_346_chassis_chassis_id_delete_member [0.083149s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9ca0371d-4408-4bd5-bf14-3e6b2a4f142a X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_347_chassis_chassis_id_delete_reader [0.068860s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-93672716-d46f-4aa4-8916-9893cd0818d4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_348_chassis_chassis_id_delete_service [0.081022s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a6e13a2a-8da7-4bb0-b68e-57654b1db5e7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_349_node_history_get_admin [0.080712s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a1fac81-f475-4c92-b3cc-4708965f642b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "840756e5-5c77-4b40-a914-093fda128b75", "created_at": "2025-05-22T18:11:13.079936+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/840756e5-5c77-4b40-a914-093fda128b75", "rel": "self"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_350_node_history_get_member [0.090614s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52dadd1d-c661-4ce7-a7f1-f9348e2ae237 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "8085c505-6f71-495b-b9a9-673e9da0cf85", "created_at": "2025-05-22T18:11:13.180131+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8085c505-6f71-495b-b9a9-673e9da0cf85", "rel": "self"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_351_node_history_get_reader [0.075923s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d9039cb7-1507-469f-9c0b-2fc9b087d6a4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "3c69dcf3-c4e0-4d64-b644-080b73519217", "created_at": "2025-05-22T18:11:13.254656+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3c69dcf3-c4e0-4d64-b644-080b73519217", "rel": "self"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_352_node_history_get_service [0.078455s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-94e59d77-cc8f-4f81-a118-3896e86da3fe X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"history": [{"uuid": "f48d4a8e-467e-461f-90fa-eb5e2cfe698b", "created_at": "2025-05-22T18:11:13.336222+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/f48d4a8e-467e-461f-90fa-eb5e2cfe698b", "rel": "self"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_353_node_history_get_entry_admin [0.106158s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/32f7c8fb-e59b-42be-a7ee-9a2c87c9215e WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eba2cee2-8a73-4956-8687-802fc426d4c3 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "32f7c8fb-e59b-42be-a7ee-9a2c87c9215e", "created_at": "2025-05-22T18:11:13.442440+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/32f7c8fb-e59b-42be-a7ee-9a2c87c9215e", "rel": "self"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_354_node_history_get_entry_member [0.075765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ac60785d-4f8d-4e3d-877b-c42c1b5fe305 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1805f547-d3b2-452b-be29-6b6abf20acf4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ac60785d-4f8d-4e3d-877b-c42c1b5fe305", "created_at": "2025-05-22T18:11:13.517885+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ac60785d-4f8d-4e3d-877b-c42c1b5fe305", "rel": "self"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_355_node_history_get_entry_reader [0.076613s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ea8e8b8f-0383-40f3-80cb-52631425dab8 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-684143dc-b27d-4bd2-9f26-cba823e2b0f8 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "ea8e8b8f-0383-40f3-80cb-52631425dab8", "created_at": "2025-05-22T18:11:13.597380+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ea8e8b8f-0383-40f3-80cb-52631425dab8", "rel": "self"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_356_node_inventory_get_admin [0.066510s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd820fd2-990c-40db-8f22-a666d70f5022 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_357_node_inventory_get_reader [0.069926s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/inventory WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-402834d7-301f-4d9c-8cf3-e6e5b2db40c4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"inventory": {"inventory": "test"}, "plugin_data": {"pdata": {"plugin": "data"}}} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_358_node_history_get_entry_service [0.066731s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/edbcdd64-4237-4bf0-9ada-ca3f3e1a6b8d WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8c24fe10-2c07-4d7a-b0e0-25be4d2df1f1 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "edbcdd64-4237-4bf0-9ada-ca3f3e1a6b8d", "created_at": "2025-05-22T18:11:13.806690+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/edbcdd64-4237-4bf0-9ada-ca3f3e1a6b8d", "rel": "self"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_359_shard_get_shards [0.063400s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/shards WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a62b77a2-a349-4c24-8e24-b2f442621032 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"shards": [{"name": "None", "count": 3}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_360_shard_patch_set_node_shard [0.102128s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/shard', 'value': 'TestShard'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b97611b1-1c4e-4bc6-8767-d4c81c0ae7f4 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_361_shard_patch_set_node_shard_disallowed [0.254247s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/shard', 'value': 'TestShard'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ba2496d6-419d-4796-946d-3c2b8df7ea9d X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:shard\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_362_parent_node_patch_by_admin [0.152970s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/parent_node', 'value': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2004a018-f36d-40bf-8637-be4e92ff8a21 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_363_parent_node_patch_by_member [0.123129s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/parent_node', 'value': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000'}] GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-160a2b92-5440-4a69-baef-2df55ac8a612 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_364_parent_node_patch_by_reader [0.090833s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 WITH [{'op': 'replace', 'path': '/parent_node', 'value': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0dcc1a05-185b-4d21-9745-42489156a1d5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:parent_node\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_365_nodes_firmware_component_get_admin [0.082267s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5a7e753-f45f-4d26-b101-24b19567f16b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"firmware": [{"created_at": "2025-05-22T18:11:14.687239+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_366_nodes_firmware_component_get_member [0.070065s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-889f8c6e-ed46-4ef2-8994-57c6f9b2ddc5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"firmware": [{"created_at": "2025-05-22T18:11:14.759630+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_367_nodes_firmware_component_get_reader [0.086541s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/firmware WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-606029cf-4d9b-47be-9d57-15641677f3e6 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"firmware": [{"created_at": "2025-05-22T18:11:14.837578+00:00", "updated_at": null, "component": "bmc", "initial_version": "v1.0.0", "current_version": "v1.0.0", "last_version_flashed": null}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_368_runbooks_post_admin [0.078204s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/63dbf5fe-5c6e-405c-b171-452fac341ee4 Openstack-Request-Id: req-e5ffb97c-fb37-4cb9-8430-c84ce9f8f26e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "63dbf5fe-5c6e-405c-b171-452fac341ee4", "created_at": "2025-05-22T18:11:14.945291+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/63dbf5fe-5c6e-405c-b171-452fac341ee4", "rel": "self"}, {"href": "http://localhost/runbooks/63dbf5fe-5c6e-405c-b171-452fac341ee4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_369_runbooks_post_member [0.086014s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/a746cd1f-25ba-4e18-989a-aa4a2caeff00 Openstack-Request-Id: req-db1c1c5d-8cef-4013-8182-fba8ce183b59 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "a746cd1f-25ba-4e18-989a-aa4a2caeff00", "created_at": "2025-05-22T18:11:15.032599+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/a746cd1f-25ba-4e18-989a-aa4a2caeff00", "rel": "self"}, {"href": "http://localhost/runbooks/a746cd1f-25ba-4e18-989a-aa4a2caeff00", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_370_runbooks_post_reader [0.078850s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-88400940-9128-4c76-97c5-0b6845b796a7 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:create\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_371_runbooks_get_admin [0.073229s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-98183725-42a2-4c0a-967c-44493940a830 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "63f37234-fd9d-40c0-91dc-214f728ec2e1", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/63f37234-fd9d-40c0-91dc-214f728ec2e1", "rel": "self"}, {"href": "http://localhost/runbooks/63f37234-fd9d-40c0-91dc-214f728ec2e1", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_372_runbooks_get_member [0.095473s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3a4420ae-6665-4e48-8c20-1c4b2a9f05ea X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "999be324-cbec-4e4b-baa2-7a75e965c5d8", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/999be324-cbec-4e4b-baa2-7a75e965c5d8", "rel": "self"}, {"href": "http://localhost/runbooks/999be324-cbec-4e4b-baa2-7a75e965c5d8", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_373_runbooks_get_reader [0.088464s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-333b9f31-14f4-47b7-a544-63c505129d24 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"runbooks": [{"uuid": "8b971140-5d48-4528-80a8-1f87a297baff", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/runbooks/8b971140-5d48-4528-80a8-1f87a297baff", "rel": "self"}, {"href": "http://localhost/runbooks/8b971140-5d48-4528-80a8-1f87a297baff", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_374_runbooks_runbook_id_get_admin [0.078182s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/04969fc4-8743-43fb-9294-8f6982d4a33b WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-977a70ce-f7b1-4c69-95dc-b568e3629035 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "04969fc4-8743-43fb-9294-8f6982d4a33b", "created_at": "2025-05-22T18:11:15.442569+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/04969fc4-8743-43fb-9294-8f6982d4a33b", "rel": "self"}, {"href": "http://localhost/runbooks/04969fc4-8743-43fb-9294-8f6982d4a33b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_375_runbooks_runbook_id_get_member [0.073080s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/d2a21e21-35c6-4d34-b78d-5f7e74848e74 WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f1b9b9e-7901-4f00-8b22-07e2fc66da98 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "d2a21e21-35c6-4d34-b78d-5f7e74848e74", "created_at": "2025-05-22T18:11:15.519350+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/d2a21e21-35c6-4d34-b78d-5f7e74848e74", "rel": "self"}, {"href": "http://localhost/runbooks/d2a21e21-35c6-4d34-b78d-5f7e74848e74", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_376_runbooks_runbook_id_get_reader [0.074584s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET /v1/runbooks/58cb40d9-9367-4869-9581-fc2dcb2345fc WITH {} GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d00d3d8b-0163-4888-91bc-d08643765043 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "58cb40d9-9367-4869-9581-fc2dcb2345fc", "created_at": "2025-05-22T18:11:15.592811+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/58cb40d9-9367-4869-9581-fc2dcb2345fc", "rel": "self"}, {"href": "http://localhost/runbooks/58cb40d9-9367-4869-9581-fc2dcb2345fc", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_377_runbooks_runbook_id_patch_admin [0.102743s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/e37577c5-20f8-4c3d-b60b-16717ffc9768 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ac81cb7-6e50-4164-b0d7-33935d40c5d2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "e37577c5-20f8-4c3d-b60b-16717ffc9768", "created_at": "2025-05-22T18:11:15.676821+00:00", "updated_at": "2025-05-22T18:11:15.706713+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/e37577c5-20f8-4c3d-b60b-16717ffc9768", "rel": "self"}, {"href": "http://localhost/runbooks/e37577c5-20f8-4c3d-b60b-16717ffc9768", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_378_runbooks_runbook_id_patch_member [0.098747s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/20291799-61f6-41a0-9e58-a5d55ada1e82 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fef79917-e789-49aa-a814-8a489db30227 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "20291799-61f6-41a0-9e58-a5d55ada1e82", "created_at": "2025-05-22T18:11:15.779159+00:00", "updated_at": "2025-05-22T18:11:15.807850+00:00", "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/20291799-61f6-41a0-9e58-a5d55ada1e82", "rel": "self"}, {"href": "http://localhost/runbooks/20291799-61f6-41a0-9e58-a5d55ada1e82", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_379_runbooks_runbook_id_patch_reader [0.068276s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/a7056220-07ce-40b8-b852-459fbfcbea69 WITH [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_NAME'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b4313d67-ff33-400e-a222-e6dfbca52e50 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_380_runbooks_runbook_id_patch_public_admin [0.100956s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/907418ec-c685-42d2-8724-ceb4a5f1c824 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3b89121-9d8c-462a-a697-d148f808daa5 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "907418ec-c685-42d2-8724-ceb4a5f1c824", "created_at": "2025-05-22T18:11:15.936129+00:00", "updated_at": "2025-05-22T18:11:15.979054+00:00", "name": "CUSTOM_DT1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/907418ec-c685-42d2-8724-ceb4a5f1c824", "rel": "self"}, {"href": "http://localhost/runbooks/907418ec-c685-42d2-8724-ceb4a5f1c824", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_381_runbooks_runbook_id_patch_public_member [0.091402s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/3420e9cc-dcec-4efa-94d2-43ba46067515 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2626492b-44ad-45b3-a712-23dff3920486 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "3420e9cc-dcec-4efa-94d2-43ba46067515", "created_at": "2025-05-22T18:11:16.040604+00:00", "updated_at": "2025-05-22T18:11:16.069415+00:00", "name": "CUSTOM_DT1", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/3420e9cc-dcec-4efa-94d2-43ba46067515", "rel": "self"}, {"href": "http://localhost/runbooks/3420e9cc-dcec-4efa-94d2-43ba46067515", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_382_runbooks_runbook_id_patch_public_reader [0.073143s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/71960e4c-ed9d-4c03-a11c-d0128b76d0e5 WITH [{'op': 'replace', 'path': '/public', 'value': True}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-779b2d24-d858-465a-a1a3-90e7dfd1268b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:public\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_383_runbooks_runbook_id_patch_owner_admin [0.093571s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/89bb1413-9181-493d-ae46-b908f8cd5679 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f738ed37-f582-4f52-9d4c-a286862f19d9 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "89bb1413-9181-493d-ae46-b908f8cd5679", "created_at": "2025-05-22T18:11:16.211154+00:00", "updated_at": "2025-05-22T18:11:16.241424+00:00", "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "new_owner", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/89bb1413-9181-493d-ae46-b908f8cd5679", "rel": "self"}, {"href": "http://localhost/runbooks/89bb1413-9181-493d-ae46-b908f8cd5679", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_384_runbooks_runbook_id_patch_owner_member [0.115082s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/c4fef91c-49c9-49ea-9cca-d6f81824923b WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2f43ab57-c0ec-415a-9b16-9742dfe0fb83 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "c4fef91c-49c9-49ea-9cca-d6f81824923b", "created_at": "2025-05-22T18:11:16.322815+00:00", "updated_at": "2025-05-22T18:11:16.357607+00:00", "name": "CUSTOM_DT1", "extra": {}, "public": false, "owner": "new_owner", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/c4fef91c-49c9-49ea-9cca-d6f81824923b", "rel": "self"}, {"href": "http://localhost/runbooks/c4fef91c-49c9-49ea-9cca-d6f81824923b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "order": 1}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_385_runbooks_runbook_id_patch_owner_reader [0.099816s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ PATCH /v1/runbooks/c3171dbd-ad88-4b9c-9e56-f9a2addc11b3 WITH [{'op': 'replace', 'path': '/owner', 'value': 'new_owner'}] GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-480f5a3d-2104-4260-8694-7a52a44d438e X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:update:owner\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_386_runbooks_runbook_id_delete_admin [0.082196s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/0ba2deea-2a61-402e-9e22-489b54e0de58 GOT Response: 204 No Content Openstack-Request-Id: req-caf0a1b7-112c-4467-8647-512353c38e0f X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_387_runbooks_runbook_id_delete_member [0.135018s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/9f164c9f-c7b9-4a4a-a073-74031ef8296e GOT Response: 204 No Content Openstack-Request-Id: req-6c3db8c8-0575-46fb-a5d2-7020c5e2821c X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_388_runbooks_runbook_id_delete_reader [0.081160s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ DELETE /v1/runbooks/a42e278e-e201-41c5-92ba-60be705499ec GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9683f313-9d56-472b-8a1e-d80539a5ba52 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:runbook:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_389_runbooks_post_project_admin [0.096853s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/8636d295-47b7-4b8a-90e6-4166a8e6853e Openstack-Request-Id: req-5e535da5-51e7-4e1f-b30f-4a606d89b159 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "8636d295-47b7-4b8a-90e6-4166a8e6853e", "created_at": "2025-05-22T18:11:16.856552+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": false, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/8636d295-47b7-4b8a-90e6-4166a8e6853e", "rel": "self"}, {"href": "http://localhost/runbooks/8636d295-47b7-4b8a-90e6-4166a8e6853e", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_390_public_runbooks_post_admin [0.106467s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ POST /v1/runbooks WITH {'name': 'CUSTOM_NAME', 'public': True, 'steps': [{'interface': 'raid', 'step': 'noop', 'args': {}, 'order': 0}]} GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/runbooks/2a616b61-86d2-426c-b041-b0b55a1fcdce Openstack-Request-Id: req-bbdbe45d-f31a-49fe-ba6d-f828de9085e2 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.98 {"uuid": "2a616b61-86d2-426c-b041-b0b55a1fcdce", "created_at": "2025-05-22T18:11:16.963766+00:00", "updated_at": null, "name": "CUSTOM_NAME", "extra": {}, "public": true, "owner": null, "disable_ramdisk": false, "links": [{"href": "http://localhost/v1/runbooks/2a616b61-86d2-426c-b041-b0b55a1fcdce", "rel": "self"}, {"href": "http://localhost/runbooks/2a616b61-86d2-426c-b041-b0b55a1fcdce", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "noop", "args": {}, "order": 0}]} {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.028347s] ... ok {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.030344s] ... ok {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.035037s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.031237s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-07bcfa6c-60cd-444a-a5f3-42d8acef2917 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.027039s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4fdca97e-964e-4ae5-880a-a8c63464bb2b X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.207099s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-15e02109-37a0-40d1-8205-19e7ac875542 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.034046s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec8dfc13-273c-4c81-b3c9-d5690bb87b04 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.032274s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-456be2da-cc0e-4ba6-9c55-de3a7446e814 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.034719s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-34fc7949-3a1e-4414-9e36-dc031af02692 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.043131s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f093dec1-1a20-491c-a5a2-37ac96699d81 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": \"Traceback (most recent call last):\\n\\n File \\\"/builddir/build/BUILD/ironic-29.1.0.dev118/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-29.1.0.dev118/ironic/api/controllers/root.py\\\", line 44, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1092, in __call__\\n return self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1096, in _mock_call\\n return self._execute_mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1151, in _execute_mock_call\\n raise effect\\n\\nException: Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\\n\"}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.026662s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-749fef5b-8357-4c0d-99f5-099d04f91b88 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.037231s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b820472d-f0d2-451f-bbd6-7c59bed7dbcf X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.028967s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7316bf20-66a1-4708-af52-b847ed381b88 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.030025s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ GET / WITH {} GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0abc2938-545a-4942-839b-738915174d90 X-Openstack-Ironic-Api-Maximum-Version: 1.98 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": \"Traceback (most recent call last):\\n\\n File \\\"/builddir/build/BUILD/ironic-29.1.0.dev118/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-29.1.0.dev118/ironic/api/controllers/root.py\\\", line 44, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1092, in __call__\\n return self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1096, in _mock_call\\n return self._execute_mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1151, in _execute_mock_call\\n raise effect\\n\\nException: Error message without traceback \\n but \\n multiline\\n\"}"} {3} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.021634s] ... ok {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.024373s] ... ok {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.031330s] ... ok {3} ironic.tests.unit.command.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.034691s] ... ok {3} ironic.tests.unit.command.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.029960s] ... ok {3} ironic.tests.unit.command.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.029487s] ... ok {3} ironic.tests.unit.command.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.028402s] ... ok {3} ironic.tests.unit.command.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.050261s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.033352s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ foo() migrated 15 of 15 objects. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.046536s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.036596s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.032357s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 15 objects. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.031970s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.026756s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ Error while running foo: bar. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.031073s] ... ok {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.032961s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.028936s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. Data migrations have completed. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.029765s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. Data migrations have completed. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.030807s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.023377s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Malformed option m1key1=value1 {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.025661s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Malformed option m1.key1value1 {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.023221s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ "max-count" must be a positive value. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.028404s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Data migrations have not completed. Please re-run. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.024313s] ... ok Captured stdout: ~~~~~~~~~~~~~~~~ Running batches of 50 until migrations have been completed. Data migrations have completed. {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.024744s] ... ok {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.024591s] ... ok {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.030109s] ... ok {3} ironic.tests.unit.command.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.024283s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ This is bad {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.026860s] ... ok {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.025142s] ... ok {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.033513s] ... ok {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.031273s] ... ok {3} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.020199s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test__get_cinder_session [0.455039s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_cinder_client_with_context [0.543975s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.031425s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.026455s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.042101s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.026430s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.027530s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.026703s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.027572s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.058000s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.036223s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_fallback [0.023045s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.022477s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.022114s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.020961s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.022648s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.021988s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.023482s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.029177s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.025042s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.028862s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.037527s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.024094s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.023334s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.022917s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.022845s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.021268s] ... ok {3} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.050953s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.555656s] ... ok {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.362758s] ... ok {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.347983s] ... ok {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.593360s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.020768s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.020679s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.026842s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.022928s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [1.022965s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.035105s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.024941s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.025017s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.035871s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000364s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.020985s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.021047s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.019755s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.023419s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.022492s] ... ok {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_external_ip [0.030725s] ... ok {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_external_ip_node_override [0.031202s] ... ok {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_local_copy [0.032232s] ... ok {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_local_link [0.028716s] ... ok {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_publish_local_link_no_restorecon [0.034389s] ... ok {3} ironic.tests.unit.common.test_image_publisher.LocalPublisherTestCase.test_unpublish_local [0.026354s] ... ok {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_with_filename [0.036483s] ... ok {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_with_qs [0.038502s] ... ok {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test__append_filename_param_without_qs [0.035625s] ... ok {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test_publish [0.041033s] ... ok {3} ironic.tests.unit.common.test_image_publisher.SwiftPublisherTestCase.test_unpublish [0.033150s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.030051s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.026612s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.023345s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.023017s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.029967s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.025101s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.024231s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false_basic_auth_failed [0.020793s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false_basic_auth_sucess [0.025374s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.026906s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.026935s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.026550s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_gen_auth_from_conf_user_pass_none [0.022157s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_gen_auth_from_conf_user_pass_success [0.022777s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_get_handles_exceptions [0.019426s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_get_success [0.020087s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_get_success_verify_false [0.019440s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.027687s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.024441s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_disabled [0.022488s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.023485s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.022463s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.021128s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.024643s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.021114s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.026338s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_forbidden [0.019914s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_path_redirected [0.020118s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_valid_path_invalid_basic_auth [0.037904s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_valid_path_valid_basic_auth [0.024862s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.019326s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.018869s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.020022s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.025385s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.023171s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.019627s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.019460s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.267896s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format [0.020284s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_empty_password [0.019517s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_empty_user [0.019820s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_none_password [0.027623s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_verify_basic_auth_cred_format_none_user [0.018806s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.020289s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.020463s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.022171s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.021898s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.024050s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_auth_override [0.027247s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_auth_override_no_data [0.019795s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_auth_override_no_user_auth [0.019027s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.019224s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_oci_url [0.020622s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_is_container_registry_url [0.018269s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.022280s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.026671s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.027245s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files [0.022529s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_no_esp_imageimg [0.023812s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_with_ExecutionError [0.023224s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fails_no_grub_cfg [0.025195s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.022997s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.023954s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.024991s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.025051s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.028108s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.022909s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.028062s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.031991s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.030400s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.026650s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.023259s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.023988s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.027174s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.025434s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.025562s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.025524s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.026358s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.022524s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.021616s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.020330s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.019183s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.028156s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.027046s] ... ok {3} ironic.tests.unit.common.test_json_rpc.TestSession.test_http_basic [0.021815s] ... ok {3} ironic.tests.unit.common.test_json_rpc.TestSession.test_http_basic_deprecated [0.023757s] ... ok {3} ironic.tests.unit.common.test_json_rpc.TestSession.test_keystone [0.023195s] ... ok {3} ironic.tests.unit.common.test_json_rpc.TestSession.test_noauth [0.023427s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.047443s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.050313s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.206997s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.030521s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.030015s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.034956s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.053283s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.070525s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.047397s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.054500s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.060397s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.069995s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports_via_not_pxe [0.064187s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.054948s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.062307s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.061682s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.073091s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.046022s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.034590s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.032033s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.049152s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.033042s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.031626s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.046402s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.046421s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.057943s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.047129s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.049715s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.050087s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.054386s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.051937s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.047303s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.061052s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.031981s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.032059s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.056744s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.046112s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.049299s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.048062s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.054767s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.052036s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.056533s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.050892s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.058283s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.032150s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.031145s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.034421s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.031545s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.029563s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.030979s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.033636s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.030657s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.031490s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.201397s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.032811s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.033609s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.040316s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.023203s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.031973s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.022189s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.021942s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.022462s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.029299s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.029225s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.032298s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.031755s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.037538s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.032278s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.036559s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.048908s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.039312s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.026315s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.027121s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.031547s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.029779s] ... ok {3} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test__image_to_url [0.022818s] ... ok {3} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test__image_to_url_adds_oci [0.020755s] ... ok {3} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_client_init_make_session [0.021802s] ... ok {3} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_get_blob_url [0.019956s] ... ok {3} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_image_tag_from_url [0.022268s] ... ok {3} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_image_tag_from_url_with_digest [0.020110s] ... ok {3} ironic.tests.unit.common.test_oci_registry.OciClientTestCase.test_image_tag_from_url_with_tag [0.019175s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.021447s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.020996s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.021388s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.021852s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.022325s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.022238s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.021416s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.029599s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.029252s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.054018s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.040174s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.027744s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.024931s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.028435s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.023705s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.027669s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.022261s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.026454s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.025058s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.024095s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.076023s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.047553s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.042006s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.022369s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.022603s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.019611s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.019456s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.019559s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.030836s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.028595s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.205103s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.020354s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.023446s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.021271s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.020214s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.025876s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.037379s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.046043s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.037961s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_command_not_found [0.030100s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.031407s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.024542s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.021714s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_with_log_stdout_default [0.028255s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_with_log_stdout_false [0.034725s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_with_log_stdout_true [0.051429s] ... ok {3} ironic.tests.unit.common.test_utils.GetRouteSourceTestCase.test_get_route_source_indexerror [0.044520s] ... ok {3} ironic.tests.unit.common.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv4 [0.052578s] ... ok {3} ironic.tests.unit.common.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6 [0.022092s] ... ok {3} ironic.tests.unit.common.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal [0.019618s] ... ok {3} ironic.tests.unit.common.test_utils.GetRouteSourceTestCase.test_get_route_source_ipv6_linklocal_allowed [0.020612s] ... ok {3} ironic.tests.unit.common.test_utils.IsHttpUrlTestCase.test_is_http_url [0.020866s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_find_devices_all [0.023903s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_find_devices_name [0.025306s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_find_devices_none [0.032934s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_empty_device_attribute [0.024806s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints [0.057556s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints2 [0.028503s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_multiple_hints3 [0.021691s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_device_found [0.027300s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_no_operators [0.025685s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_one_hint [0.023899s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational [0.022231s] ... ok {3} ironic.tests.unit.common.test_utils.MatchRootDeviceTestCase.test_match_root_device_hints_rotational_convert_devices_bool [0.023011s] ... ok {3} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.022406s] ... ok {3} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.021549s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.034566s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.047337s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.047906s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.038200s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.032793s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.041121s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.053590s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.057758s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.029752s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.054523s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.048447s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.054933s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.064525s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.055434s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.052139s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.052786s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.063678s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.057734s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_cleanhold_abort_tear_down_fail [0.088760s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_early [0.250932s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_with_step [0.052483s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.086450s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.074369s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.085849s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.061148s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.103968s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.084005s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.060141s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.083567s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.065891s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.086655s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.058075s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.080504s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.056489s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.057241s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.060668s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.061244s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.060313s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.060331s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.055006s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.071764s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.073417s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.063459s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.082528s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.070611s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.057690s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.063596s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.076720s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.054341s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.089338s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.064719s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.050329s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.233034s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.056381s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.076408s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.051482s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.071898s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.064389s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.065749s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.059877s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.102021s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_network_error_fail [0.059261s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.040801s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.042629s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.067621s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.088900s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.055203s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.096649s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.057424s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_handles_hold_from_active [0.054773s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_handles_hold_from_wait [0.060916s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.089721s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.084034s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.053387s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.073082s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.079099s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.069906s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.061382s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_node_clean_steps_fail_poweroff [0.080739s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.120718s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.120686s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.124876s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.126412s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.120216s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.272267s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.115769s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.102135s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.103897s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.108578s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.105220s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.112202s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.092049s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_node_validation_in_disabled_bios_boot_mode_fails [0.039884s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_node_validation_in_disabled_uefi_boot_mode_fails [0.038863s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_legacy_false [0.087409s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_legacy_false_even_if_src_set [0.091179s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_source_instance [0.088735s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_source_none [0.085883s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_lessee_source_request [0.102845s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path [0.098982s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy_source_path_none [0.085587s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_update_fails_on_invalid_boot_mode [0.023547s] ... ok {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_ok [0.055295s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_raises_error [0.054613s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_inspect_wait [0.047651s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_inspecting [0.071056s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_return_other_state [0.055848s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_inspection.TestInspectHardware.test_inspect_hardware_unexpected_error [0.051296s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.103030s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.281947s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.109858s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.115182s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.185225s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_servicewait_timeouts [0.101818s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.083681s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.089635s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.037981s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.035876s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.034651s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.103387s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.091564s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.101118s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.119034s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.075246s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.104883s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.048050s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.033762s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.041169s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.090362s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.121329s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.099551s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.080957s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.083061s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.097403s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.101204s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.094812s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.089081s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.088626s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.102320s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.097692s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.270856s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.082811s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.093836s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_cleaning_automated [0.103427s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_cleaning_manual [0.106572s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_provision_action_unlocks_deploying [0.114846s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.098459s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.096847s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_state_set_by_driver [0.101029s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.088004s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.083229s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.088186s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_cleanhold_automated_clean [0.086759s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_cleanhold_manual_clean [0.088410s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_from_deployhold [0.093776s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.104688s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.097628s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.083045s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.084719s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.096903s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_agent_token [0.110178s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_agent_token_older_version [0.299708s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_invalid_newer_version [0.137593s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_tls_required [0.098334s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_token [0.094418s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_verify_ca [0.093351s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_agent_version [0.097835s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_no_required_agent_token [0.088588s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_with_required_agent_token [0.091519s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_without_agent_version_anaconda [0.091279s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.HeartbeatTestCase.test_heartbeat_without_version [0.093247s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/tooz/hashring.py:86: DeprecationWarning: Using function/method 'md5()' is deprecated: Use hashlib.md5 instead key_hash = md5(key, usedforsecurity=False) /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.041265s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.035343s] ... ok {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.046796s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.026230s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.027027s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.027571s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.029260s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.030088s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.027715s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.026002s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.025361s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.024274s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.025697s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.025291s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.031597s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.026156s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.025933s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.026058s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.026134s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.028405s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.026714s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.094519s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.084748s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.102486s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.090989s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.274864s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.109021s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /builddir/build/BUILD/ironic-29.1.0.dev118/ironic/conductor/base_manager.py:115: DeprecationWarning: Using class 'GreenThreadPoolExecutor' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green executor. self._executor = futurist.GreenThreadPoolExecutor( /usr/lib/python3.9/site-packages/futurist/_futures.py:400: DeprecationWarning: Using class 'GreenFuture' (either directly or via inheritance) is deprecated: Eventlet support is deprecated. Please migrate your code and stop using Green future. f = GreenFuture() /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.061098s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.031916s] ... ok {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.039949s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.042634s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.043970s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.027083s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.029872s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.020367s] ... ok {3} ironic.tests.unit.conductor.test_servicing.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children [0.335001s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_servicing.DoNodeCleanTestChildNodes.test_do_next_clean_step_with_children_by_uuid [0.158453s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.044855s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.036002s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.043921s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.041697s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.040416s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.044119s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.046369s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.057934s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.052802s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.068721s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.062745s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.055366s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.056768s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.060718s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.049512s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_reserved_options [0.044133s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.053678s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.052381s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.044391s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_only_enabled [0.049012s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.034819s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.044446s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.037283s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.044027s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.058181s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.074142s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.052387s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.054265s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.058337s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.050311s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.052001s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.048114s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.026269s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.021456s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.022531s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.021252s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.022335s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.021499s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.199174s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.021929s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.023324s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.023641s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.021969s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.021128s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.047120s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.061252s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.064404s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.048078s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.044868s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.042217s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.055672s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.047925s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_exclude_current_conductor [0.044190s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.054313s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.044557s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.044966s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.047003s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.047399s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.051628s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.049039s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.031912s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.037435s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.044522s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.043137s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.037535s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.040322s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.029320s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.058636s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.042170s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.075347s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.056910s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.062128s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_disable_power_off [0.047531s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.052092s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.078698s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.055445s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.055873s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.081810s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.078706s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_keep_last_error [0.053371s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.055701s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_already [0.052393s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_exception_if_child_locked [2.115123s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_parent [0.105981s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_parent_child_remains [0.059046s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.227128s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.057362s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.055995s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_exception_if_parent_locked [2.070002s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.128861s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_parent_off [0.066187s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.057929s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_with_parent [0.087843s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.055713s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot_with_disable_power_off [0.059169s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.060022s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.068596s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.055768s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.112559s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.023734s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.018850s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.024353s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.019097s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.018668s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.026739s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.075522s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.089112s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.063253s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.134984s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.118088s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.055370s] ... ok {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.033565s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.025237s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.028051s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.031546s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.032142s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.029566s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.027489s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.041114s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.030154s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.030080s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.041424s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.040068s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.027731s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.031235s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.034232s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.031165s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.027887s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.038779s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.038405s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.030355s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.248175s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.028922s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.029954s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.029996s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.026492s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.024938s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.030990s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.025277s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.029627s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.039626s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.028772s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.033284s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.031869s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.026525s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.027643s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.029091s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.031867s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.027185s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.025876s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.030800s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.043657s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.036469s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.030178s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.050849s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.060956s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.066745s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.054222s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.060030s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.054973s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.053122s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.049916s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.051896s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.056597s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.045781s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.046230s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.045633s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.053447s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.046421s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.051281s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.048691s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.044884s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.053013s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.056901s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.047043s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.056052s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.044363s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.050627s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.036614s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.035324s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.068221s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_convert_controller [0.058306s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.059570s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.234765s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.034093s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode [0.059744s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_no_conversion [0.054813s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_not_raid [0.045143s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_idrac [0.055121s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy [0.069931s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__convert_controller_to_raid_mode_old_sushy_oem [0.045025s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.030626s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.036006s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.033656s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.033134s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.026856s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.026940s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.027824s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.048474s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.047826s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.051403s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.054070s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.030240s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.034578s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.028831s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.028754s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.049183s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.029587s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_no_subtasks [0.029385s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.031638s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.026624s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.048303s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.048741s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.044744s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.048300s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.042858s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.040710s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.043775s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.050845s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.047507s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.077993s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_local_or_whole_disk_image [0.045699s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.050535s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.074078s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.069151s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.082817s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.072093s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.066520s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.254246s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.067794s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.052047s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.056163s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.036115s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.036827s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_glance [0.060089s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver [0.046906s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_deploy_webserver_exc [0.059198s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.045593s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.044453s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_architecture.ArchitectureTestCase.test_architecture [0.049816s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_cpu_capabilities.CPUCapabilitiesTestCase.test_cpu_capabilities [0.050983s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_all_valid_data [0.063298s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_bad_value_linkagg [0.042953s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_bad_value_macphy [0.043932s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_chassis_ids [0.043759s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_duplicate_tlvs [0.042005s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_invalid_ip [0.040205s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_multiple_interfaces [0.040103s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_null_strings [0.038322s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_old_format [0.038821s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_truncated_int [0.038778s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_truncated_mac [0.043254s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_unhandled_oui [0.039650s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_parse_lldp.ParseLLDPTestCase.test_unhandled_tlvs [0.044994s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_multiple_new_root_devices [0.050794s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_new_root_devices [0.045176s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_previous_inventory [0.041612s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_no_serials [0.051707s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_root_device_already_set [0.050344s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.hooks.test_raid_device.RaidDeviceTestCase.test_root_device_found [0.072350s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint [0.054322s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.052657s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.054901s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.029716s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_get_properties [0.033461s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.CommonFunctionsTestCase.test_validate_ok [0.029531s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareAbortTestCase.test_abort_error [0.031303s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareAbortTestCase.test_abort_ok [0.028466s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_custom_params [0.069364s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_disable_power_off [0.058055s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_error [0.080489s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_fast_track [0.064818s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_fast_track_via_driver_info [0.075376s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_managed_ok [0.058100s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_require_managed_boot [0.029375s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_unmanaged_error [0.054391s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_unmanaged_ok [0.035939s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_validate_ok [0.026566s] ... ok {3} ironic.tests.unit.drivers.modules.inspector.test_interface.InspectHardwareTestCase.test_validate_require_managed_boot [0.032320s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.249993s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.040155s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.042827s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.050279s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.035591s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.064400s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.062825s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.068018s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.064931s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__has_vmedia_device [0.029332s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__has_vmedia_device_inserted [0.029515s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_already_inserted [0.036709s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew [0.036896s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew_dvd [0.038514s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_anew_dvd_retry [0.041367s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_bad_device [0.037997s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test__insert_vmedia_while_ejecting [0.040372s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_everything [0.043259s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_from_all_resources [0.044836s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_not_inserted [0.043864s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_specific [0.043458s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_unknown [0.046403s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootViaSystemTestCase.test_eject_vmedia_with_dvd_cisco_ucs [0.044822s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.039068s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.059755s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.038837s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.064096s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.251555s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.041156s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off_with_disable_power_off [0.041787s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.045345s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on_with_disable_power_off [0.043753s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.040716s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.043681s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.063165s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.042686s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.044001s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.043783s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.068763s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.048593s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.044701s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficient_data [0.054441s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.042363s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.050138s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.056384s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.047786s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.055583s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.052783s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.054499s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.050210s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.049587s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.055563s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.055124s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.054847s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.073294s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.048965s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.063064s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.056210s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.054776s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.073101s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.052409s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.071269s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.053200s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.060602s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.061779s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.SwitchToTenantNetworkTest.test_switch_to_tenant_network [0.053239s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.SwitchToTenantNetworkTest.test_switch_to_tenant_network_fails [0.086322s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.044370s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.043273s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.043816s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.049716s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.222853s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.052209s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.041457s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.041640s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.026022s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.025599s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.032708s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.026557s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.025717s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.024215s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.028064s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.029992s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestBootcAgentDeploy.test_execute_bootc_install [0.040456s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestBootcAgentDeploy.test_set_boot_to_disk [0.053740s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestBootcAgentDeploy.test_set_boot_to_disk_lenovo [0.049738s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestBootcAgentDeploy.test_validate [0.040879s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestBootcAgentDeploy.test_validate_fails_image_source_not_set [0.080737s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestBootcAgentDeploy.test_validate_fails_with_non_oci [0.046035s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.054004s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up_disable_power_off [0.057297s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.058969s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.065687s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.052172s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.056499s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.033166s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.053904s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_disable_power_off [0.057517s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.056325s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.046674s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing [0.069214s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_after_reboot [0.152313s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_reboot [0.073793s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueServiceTest.test_continue_servicing_running [0.046215s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__get_post_step_hook [0.031591s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__get_post_step_hook_no_hook_registered [0.036759s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__post_step_reboot [0.059410s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__post_step_reboot_deploy [0.052849s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__post_step_reboot_fail [0.042716s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__post_step_reboot_fail_deploy [0.040802s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__post_step_reboot_fail_servicing [0.050227s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test__post_step_reboot_pregenerated_token [0.057731s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_agent_base.PostStepHooksTest.test_post_clean_step_hook [0.028691s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.199920s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.029323s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.024717s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.025128s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.019585s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.020612s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.025000s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.020667s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.020800s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.022765s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.022757s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.044399s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.026726s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.027002s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.030962s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.028530s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.041968s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.028808s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.041860s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.026138s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.025543s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_non_image_deploy [0.025321s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.031201s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_anaconda [0.025305s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.027172s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.031078s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.026438s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.026178s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.039417s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.037908s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.027314s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.026824s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.021215s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.021642s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.020904s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.020705s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.020690s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.021178s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.020797s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.020771s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.021005s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.021488s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.020877s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.021906s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.021912s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.021598s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.021176s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.021062s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.020518s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.026443s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.024211s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.023288s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.030295s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw [0.077643s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_already_raw_keeps_md5 [0.063813s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.055005s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.058245s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.059284s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.060098s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_already_raw [0.063969s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.056847s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.057810s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_md5_not_permitted [0.054875s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.062738s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_checksum_image [0.062442s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_checksum_sha256 [0.243136s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_checksum_sha512 [0.060419s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_image_via_http_verified [0.059786s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.047610s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.036872s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.036452s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.029057s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.034722s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.042806s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.044286s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.038899s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.041161s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.038809s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.035525s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.035102s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.035263s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_defaults [0.036323s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.035547s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.036518s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.035592s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.035052s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.034846s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.035635s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_with_node_external_http_url [0.034768s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.034852s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.033920s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.034369s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.038794s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.039968s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.036276s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.040178s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.037297s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.037590s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.037269s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.034968s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.034970s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.038478s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.034299s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.032412s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.032764s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.038553s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_config_external_http_url [0.037244s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_publish_with_node_external_http_url [0.034250s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.033706s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image [0.031211s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_custom_cache [0.033527s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_file [0.041229s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_from_swift [0.033266s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_local [0.038624s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_local_external_http_url [0.039299s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_swift_noop [0.031964s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_remote_image_swift_schema [0.031411s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.075741s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.075597s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.227701s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries [0.046703s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_404_exception [0.048077s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_fail_exception [0.053999s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_inspect_utils.SwiftCleanUp.test_clean_up_swift_entries_with_fail_exceptions [0.048040s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.021250s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.020713s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.020591s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.020844s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.020621s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.020713s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.020194s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.020387s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.024023s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.020658s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.020019s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.020524s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.020625s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.020241s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.020885s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.020987s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.019967s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.020052s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.020031s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.019882s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.021103s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.020177s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.020299s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.020741s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.020246s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.042333s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.027128s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.025732s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.037883s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.028838s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.028143s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.042323s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.029565s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.030871s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.028668s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.028301s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.031608s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.027964s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.027660s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.029643s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.027980s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.029088s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.028676s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.027656s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.028964s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.029636s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.030198s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.030603s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.028880s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.028196s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.028713s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.028547s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.027925s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.029492s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.031079s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.221819s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.028609s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.028328s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.029780s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.034296s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.027115s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.028040s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.027163s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.026937s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.027995s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.028428s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.031544s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.028990s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.034312s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.039263s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.029898s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.031766s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.027997s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.028456s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.028710s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.028932s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.045221s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.030125s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.028238s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.030483s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.029095s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_caller_exception [0.027992s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_str_password [0.027961s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_tempfile_known_exception [0.027796s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_tempfile_unknown_exception [0.026982s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_with_numeric_password [0.027905s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__prepare_ipmi_password_write_exception [0.029315s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__set_and_wait_explicit_reboot [0.043725s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.042081s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.045048s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.029619s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.028357s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.028930s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.029917s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.029668s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.027688s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.029454s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.028497s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.028524s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.029401s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.033872s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.029049s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.029134s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.029398s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.027885s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.039922s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.040400s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.038862s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.041437s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.212696s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.040215s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.040877s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.033608s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.033284s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.032419s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.036280s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.036400s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.041278s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.043546s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.058636s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.043983s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.043251s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.044712s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootBaseUtils.test__node_set_boot_device_for_network_boot [0.042238s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.020986s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.020802s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.096076s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.056041s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.057348s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.056712s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.071951s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.050485s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.051544s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.087619s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.048247s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.035587s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.038168s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.042224s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.050831s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.045116s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.048471s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.039780s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.038436s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.043551s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.048343s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.046491s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.023923s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.022286s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.023304s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.029452s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.023056s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.023072s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.042042s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.031603s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.055838s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.050218s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.042909s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.041322s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.040720s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.047142s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.049137s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.055137s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.067274s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.075633s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.046755s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_raritan_pdu2 [0.060727s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.040261s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.359587s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry3 [0.027553s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_servertech_sentry4 [0.030721s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.028880s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.023422s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.039685s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.023677s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.029181s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.023671s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.030977s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.027931s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.032982s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.052670s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.030550s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.028267s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.023067s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.022744s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.022597s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.030482s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.022589s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.022677s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.021993s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_vertivgeist_pdu [0.021007s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.024528s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.027618s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.021569s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.019503s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.024520s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.020109s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.025992s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.019895s] ... ok {3} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.024862s] ... ok {3} ironic.tests.unit.drivers.test_base.TestFirmwareInterface.test_update_with_wrapper [0.020762s] ... ok {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.038850s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.040706s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.047284s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.039433s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.041424s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.033947s] ... ok {3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.089322s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.088485s] ... ok Captured stderr: ~~~~~~~~~~~~~~~~ /usr/lib/python3.9/site-packages/oslo_concurrency/lockutils.py:102: DeprecationWarning: Eventlet support is deprecated and will be removed. debtcollector.deprecate( {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.046620s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.047708s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.047994s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.061316s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.045960s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.045953s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.048104s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.048074s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.060413s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.064848s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.052746s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.045326s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.048693s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.053735s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.045393s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.053786s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.046338s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.051050s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.079558s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.059514s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.049045s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.061108s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.049963s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.044279s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.061937s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.035149s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.029136s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.025029s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.025124s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.039450s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.042981s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.050704s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.072725s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.228747s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.035605s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.033498s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.032429s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.024063s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.024168s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.024364s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.033807s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.027829s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.027010s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.024389s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.029499s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.030351s] ... ok {3} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.020300s] ... ok {3} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.019910s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.024949s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.024017s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.034740s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.033977s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.031156s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.048491s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.031037s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.023357s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.032610s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.025757s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.028556s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.026822s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.049393s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__allowlist_mac [0.024434s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__allowlist_unknown_hosts [0.022075s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__configure_removedlist_allowlist [0.023925s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__configure_removedlist_denylist [0.052556s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__denylist_mac [0.021989s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__denylist_unknown_hosts [0.021373s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_allowlist [0.019910s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_denylist [0.030047s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_no_allowlist [0.024575s] ... ok {3} ironic.tests.unit.pxe_filter.test_dnsmasq.TestHelpers.test__get_no_denylist [0.022244s] ... ok {3} ironic.tests.unit.pxe_filter.test_service.TestSync.test_no_nodes [0.026577s] ... ok {3} ironic.tests.unit.pxe_filter.test_service.TestSync.test_no_nodes_with_discovery [0.024974s] ... ok {3} ironic.tests.unit.pxe_filter.test_service.TestSync.test_nothing_on_inspection [0.034294s] ... ok {3} ironic.tests.unit.pxe_filter.test_service.TestSync.test_sync [0.042702s] ... ok ====== Totals ====== Ran: 10056 tests in 393.7365 sec. - Passed: 10011 - Skipped: 45 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 1120.1305 sec. ============== Worker Balance ============== - Worker 0 (2163 tests) => 0:03:39.082474 - Worker 1 (2143 tests) => 0:03:44.008039 - Worker 2 (2481 tests) => 0:05:07.654518 - Worker 3 (3269 tests) => 0:06:29.710332 Test id Runtime (s) ----------------------------------------------------------------------------------------------------------------------------- ----------- ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on 4.055 ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout 3.320 ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout 3.108 ironic.tests.unit.drivers.modules.inspector.test_client.GetClientTestCase.test_get_client_standalone 2.485 ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state 2.473 ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES 2.383 ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok 2.258 ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_exception_if_child_locked 2.115 ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple 2.075 ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_exception_if_parent_locked 2.070 ___________________________________ summary ____________________________________ py39: commands succeeded congratulations :) + RPM_EC=0 ++ jobs -p + exit 0 Processing files: openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.noarch Provides: openstack-ironic = 1:29.1.0-0.20250522180210.f1c8d03.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: openstack-ironic-common-29.1.0-0.20250522180210.f1c8d03.el9.noarch warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/lib/python3.9/site-packages/ironic_tests.egg_info Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.eE10rR + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/doc/openstack-ironic-common + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/doc/openstack-ironic-common + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/doc/openstack-ironic-common + cp -pr etc/ironic/policy.yaml.sample /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/doc/openstack-ironic-common + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.EZhzIE + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/licenses/openstack-ironic-common + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/licenses/openstack-ironic-common + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/licenses/openstack-ironic-common + RPM_EC=0 ++ jobs -p + exit 0 Provides: config(openstack-ironic-common) = 1:29.1.0-0.20250522180210.f1c8d03.el9 openstack-ironic-common = 1:29.1.0-0.20250522180210.f1c8d03.el9 python3.9dist(ironic) = 29.1~~dev118 python3dist(ironic) = 29.1~~dev118 Requires(interp): /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): /bin/sh shadow-utils Requires: /usr/bin/bash /usr/bin/python3 /usr/bin/sh python(abi) = 3.9 python3.9dist(alembic) >= 1.4.2 python3.9dist(automaton) >= 1.9 python3.9dist(bcrypt) >= 3.1.3 python3.9dist(construct) >= 2.9.39 python3.9dist(eventlet) >= 0.30.1 python3.9dist(futurist) >= 1.2 python3.9dist(jinja2) >= 3 python3.9dist(jsonpatch) >= 1.16 python3.9dist(jsonschema) >= 4 python3.9dist(keystoneauth1) >= 4.2 python3.9dist(keystonemiddleware) >= 9.5 python3.9dist(microversion-parse) >= 1.0.1 python3.9dist(netaddr) python3.9dist(openstacksdk) >= 0.99 python3.9dist(os-service-types) >= 1.7 python3.9dist(os-traits) >= 0.4 python3.9dist(oslo-concurrency) >= 4.2 python3.9dist(oslo-config) >= 6.8 python3.9dist(oslo-context) >= 2.22 python3.9dist(oslo-db) >= 9.1 python3.9dist(oslo-log) >= 4.3 python3.9dist(oslo-messaging) >= 14.1 python3.9dist(oslo-middleware) >= 3.31 python3.9dist(oslo-policy) >= 4.5 python3.9dist(oslo-rootwrap) >= 5.8 python3.9dist(oslo-serialization) >= 2.25 python3.9dist(oslo-service) >= 1.24 python3.9dist(oslo-upgradecheck) >= 1.3 python3.9dist(oslo-utils) >= 8 python3.9dist(oslo-versionedobjects) >= 1.31.2 python3.9dist(osprofiler) >= 1.5 python3.9dist(pbr) >= 6 python3.9dist(pecan) >= 1 python3.9dist(psutil) >= 3.2.2 python3.9dist(pycdlib) >= 1.11 python3.9dist(pyyaml) python3.9dist(requests) >= 2.18 python3.9dist(rfc3986) >= 1.2 python3.9dist(sqlalchemy) >= 1.4 python3.9dist(stevedore) >= 1.29 python3.9dist(sushy) >= 4.8 python3.9dist(tenacity) >= 6.3.1 python3.9dist(tooz) >= 2.7 python3.9dist(webob) >= 1.7.1 python3.9dist(websockify) >= 0.9 python3.9dist(zeroconf) >= 0.24 Recommends: ipmitool python3-dracclient >= 5.1.0 python3-proliantutils >= 2.10.0 python3-pyasn1-lextudio >= 1.1.0 python3-pysnmp-lextudio >= 5.0.0 python3-scciclient >= 0.8.0 Suggests: python3-oslo-i18n >= 3.15.3 python3-oslo-reports >= 1.18.0 Processing files: openstack-ironic-api-29.1.0-0.20250522180210.f1c8d03.el9.noarch Provides: openstack-ironic-api = 1:29.1.0-0.20250522180210.f1c8d03.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: openstack-ironic-conductor-29.1.0-0.20250522180210.f1c8d03.el9.noarch Provides: openstack-ironic-conductor = 1:29.1.0-0.20250522180210.f1c8d03.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Recommends: syslinux-nonlinux Processing files: openstack-ironic-novncproxy-29.1.0-0.20250522180210.f1c8d03.el9.noarch Provides: openstack-ironic-novncproxy = 1:29.1.0-0.20250522180210.f1c8d03.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: openstack-ironic-dnsmasq-tftp-server-29.1.0-0.20250522180210.f1c8d03.el9.noarch Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.x0kplI + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server + RPM_EC=0 ++ jobs -p + exit 0 Provides: config(openstack-ironic-dnsmasq-tftp-server) = 1:29.1.0-0.20250522180210.f1c8d03.el9 openstack-ironic-dnsmasq-tftp-server = 1:29.1.0-0.20250522180210.f1c8d03.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Processing files: openstack-ironic-pxe-filter-29.1.0-0.20250522180210.f1c8d03.el9.noarch Provides: openstack-ironic-pxe-filter = 1:29.1.0-0.20250522180210.f1c8d03.el9 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: python3-ironic-tests-29.1.0-0.20250522180210.f1c8d03.el9.noarch Provides: python-ironic-tests = 1:29.1.0-0.20250522180210.f1c8d03.el9 python3-ironic-tests = 1:29.1.0-0.20250522180210.f1c8d03.el9 python3.9-ironic-tests = 1:29.1.0-0.20250522180210.f1c8d03.el9 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.9 Obsoletes: python39-ironic-tests < 1:29.1.0-0.20250522180210.f1c8d03.el9 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 Wrote: /builddir/build/SRPMS/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.src.rpm Wrote: /builddir/build/RPMS/openstack-ironic-dnsmasq-tftp-server-29.1.0-0.20250522180210.f1c8d03.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-api-29.1.0-0.20250522180210.f1c8d03.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-novncproxy-29.1.0-0.20250522180210.f1c8d03.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-conductor-29.1.0-0.20250522180210.f1c8d03.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-pxe-filter-29.1.0-0.20250522180210.f1c8d03.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-common-29.1.0-0.20250522180210.f1c8d03.el9.noarch.rpm Wrote: /builddir/build/RPMS/python3-ironic-tests-29.1.0-0.20250522180210.f1c8d03.el9.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.o0l23w + umask 022 + cd /builddir/build/BUILD + cd ironic-29.1.0.dev118 + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-29.1.0-0.20250522180210.f1c8d03.el9.x86_64 + RPM_EC=0 ++ jobs -p + exit 0 Child return code was: 0